IIS config, rewriter or https issue when running model reflection sync

Hi, We are rebuilding our on premise instance and have moved to the new rewriter functionality (in a newly setup IIS) on our test environment. We also have moved to using https for our main application url. When doing a Sync Objects in Model reflection we encounter the following error: Error: Unable to load https://xxxtest.xxx.local/xas/#executeaction status: 502 However, when setting the runtime listener to public and accessing the application directly via the mendix service console (version 4.2 > skipping IIS and https) we do NOT encounter this issue. Our current rewrite rules in the web.config: <rule name="xas" stopProcessing="true"> <match url="^xas/(.*)" /> <action type="Rewrite" url="http://localhost:8080/xas/{R:1}" /> </rule> <rule name="ws" stopProcessing="true"> <match url="^ws/(.*)" /> <action type="Rewrite" url="http://localhost:8080/ws/{R:1}" /> </rule> <rule name="file" stopProcessing="true"> <match url="^file(.*)" /> <action type="Rewrite" url="http://localhost:8080/file{R:1}" /> </rule> <rule name="link" stopProcessing="true"> <match url="^link/(.*)" /> <action type="Rewrite" url="http://localhost:8080/link/{R:1}" /> </rule> <rule name="sso" stopProcessing="true"> <match url="^sso/(.*)" /> <action type="Rewrite" url="http://localhost:8080/sso/{R:1}" /> </rule> Anyone any idea what might be causing this issue and how we can resolve it? Thanks. BTW: we also notice that when accessing the application using IIS the user IP addresses (we log them) have a port number added to them: xxx.xxx.xxx.xxx:yyyy, while when accessing the application directly via the mendix application server we do not get a port number xxx.xxx.xxx.xxx. 20140630 EDIT: We now encounter the same issue with other requests as well. Occasionally that is. Sometimes it works, sometimes it does not. Any assistance is appreciated.
2 answers

Issue resolved, by setting the default IIS ARR timeout to 240 seconds instead of the default 30 seconds.

Mendix Support (Matthijs Bloem) provided the following solution:

  • Start Internet Information Services Manager (IIS Manager)

  • In the IIS Manager select the "Server" in the Connections pane.

  • Open the Application Request Routing feature.

  • In the actions pane on the right hand side click on “Server Proxy Settings”

  • Adjust the "Time-out(seconds)" to your specific situation

Regarding your issue with tcp-ports in the header, have a look at the setting "Include TCP Port from Client IP" within the Custom Header section of the same form.


Brian, could you replace your rules in your web.config with the following rule:

<rule name="ReverseProxyInboundRule1" stopProcessing="true">
                <match url="^(file|link/|xas/|ws/|ws-doc/|sso/)(.*)" />
                <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                <action type="Rewrite" url="http://localhost:8080/{R:1}{R:2}" />