Use Case: You're working with a reverse proxy that's redirecting your requests from an external site to an internal AppServer, but don't appear to be receiving a response. There are no errors in the logs (everything looks correct) but either login fails, or the app crashes when opening. You may see a 500 - rewrite module error appear on the device or in Fiddler (if it's setup)
Issue: The AppServer compresses the response to the device into the GZIP format. By default, a proxy server will not send down a compressed response, as doing so would require decoding the response, rewriting it, then re-encoding it before sending it back out.
Solution: The best solution in this case is to force the AppServer to send un-encoded data to the proxy. The proxy will then rewrite it, and compress it before sending it back down to the device. You can do this by having the proxy strip out the ACCEPT-ENCODING header that's included in the request from the device. The AppServer will not see GZIP as an accepted format for the response, and won't compress it. To remove this header, you'll need to modify:
1) The web.config for the proxy.
2) The applicationHost.config for the proxy's IIS settings.
The second step is necessary because the proxy won't strip the header without you explicitly allowing it to take place.
Note: IT IS RECOMMEND THAT FILES ARE BACKED UP BEFORE MODIFYING
In the web.config for the proxy, paste the following lines under the rules that apply to your application.
<set name="HTTP_ACCEPT_ENCODING" value="0" />
The applicationHost.config file will be located in C:\Windows\System32\inetsrv\applicationHost.config. Find the rewrite node under system.webServer and paste in the below:
<add name="HTTP_ACCEPT_ENCODING" />
The link below contains more information on the solution implemented above: