IIS reverse proxy server
The Nexus documentation provides steps for configuring Nexus Repository Manager to run behind a reverse proxy. The information below will help you configure an IIS server to act as a reverse proxy server.
- Using the IIS Manager console, select the Default Web Site and open URL Rewrite.
- Use URL Rewrite to create your inbound rule. From the Actions pane, select the Add Rule… template and create a new Reverse Proxy rule. Click OK to enable proxy functionality if you are prompted. Choose a name for your Inbound Rule and click OK.
- Create server variables for the HTTP headers. In the Actions pane, click View Server Variables. Add the following variables:
HTTP_X_FORWARDED_PROTO then click Back to Rules.
- Set values for the server variables in your inbound rule. Highlight the Inbound rule and click Edit. Under Server Variables click Add. Select the server variable names from the drop down and assign the following values:
HTTP_X_FORWARDED_HOST should contain the domain name and (optionally) port of the original host requested by the client HTTP_X_FORWARDED_PROTO should be https if your IIS server is configured to use SSL, otherwise http
- Restart IIS. In the Connections pane select the server name, then Restart the server from the Actions pane.
Once your configuration is complete, the web.config file in inetpub\wwwroot will contain entries similar to the following:
HTTP POST Requests Fail With 404 Status Code
Some interactions with Sonatype products use HTTP POST requests:
- uploads using the Nexus Repository Manager 2.x user interface ( repository Upload tab and Staging Upload )
- Nexus IQ Server Evaluate Binary action
These operations may require a POST request that exceeds the default content limits set by IIS ( approx. 28.6 MB). When this happens, the requests do not pass through to the Sonatype servers and are instead returned from IIS as a error with 404 status code, sub-status code 13, and a message Content Length Too Large.