I think I might have run across a bug in ARR, but I'm not certain.
We have a folder <mydomain>/script that is an application folder; it contains several ASP.Net pages. I also have a rule to proxy everything that is not an ASP.Net page to another server. We are in the midst of translating from an older web technology to .Net, and the pages that are not yet translated need to be served by the old server.
All is well as long as the HTTP request is a GET; as soon as I POST, though, I get a 502.3 gateway timeout. A packet trace indicates that IIS is relaying the headers, but not the form content. Since the backend server never receives the form data, it never responds.
All is also well for several other folders that are not application folders. In order to replicate the issue, the folder in question seems to need to be an application, and the request a POST.
I've been able to get parts of it to work (by faking rules for another previously unused and completely non-existent folder that point to the backend server), but a complete solution would probably involve refactoring one project or the other.
Configuration items to do the proxy below:
From applicationHost.config:
<applicationRequestRouting>
<protocol httpVersion="Http11" keepAlive="true" preserveHostHeader="false" reverseRewriteHostInResponseHeaders="true" addXForwardedForHeader="false" />
</applicationRequestRouting>
Associated URLRewrite rule from web.config:
<rule name="PCC A4D" enabled="true" stopProcessing="true">
<match url="^script/(.*)" />
<conditions>
<add input="{REQUEST_URI}" negate="true" pattern=".*(\.aspx|\.axd).*" />
</conditions>
<action type="Rewrite" url="http://testa4d.pcci.edu/4DCGI/{R:1}" appendQueryString="true" />
</rule>
-
Is this a known issue?
-
Is there some better workaround than moving the project into another folder to remove the conflict (and trying to find all the links that the move breaks)?