I am trying to set up a simple reverse proxy for http and https for a 4D app running on a windows server 2012 R2.
I got http working but not https. When I open the public firewall and access the 4D app directly https is working fine.
Could someone give me a hint of what I am doing wrong or what I need to do to also get https working?
This is what I did:
I opened the ARR reverse proxy settings form for the main server and entered the following values:
Enable Proxy
Pass through
Keep alive
Timeout=120
X-Forwarded-For
Include TCP port from client IP
Memory cache duration=60s
Enable disk cache
Ignore query string
Response buffer =4096 kb
Threshold = 256 kb
Use Url Rewrite to inspect incoming requests
Reverse Proxy = DNSName:LocalHttpPort
After saving the ARR reverse proxy settings form, two URL-Rewrite Rules „ARR_server_proxy“ and „ARR_server_proxy_SSL“ were automatically created.
All I needed to do was to fill in the field for the recoded URL.
For the http Rule I entered: „http://DNSName:LocalHttpPort/{R0}“
For the https Rule I entered: „https://DNSName:LocalSSLPort/{R0}“
As I mentioned above these settings work for http. When I try https, I get a browser timeout.
I read somewhere that I need to import the SSL-certificate + private key that I set up for the 4D app to IIS.
I did this, but then I could not figure out how to bind it to the main server? And whether I need to set „Enable SSL offloading“ if I did this?
I also read somewhere else that I should enter in the Reverse Proxy field of the ARR reverse proxy settings form only the DNSName.
I entered DNSName:LocalHttpPort. When I enter only the DNSName i get a Browser timeout.
After reading dozens of contributions on this topic I got more and more confused.
here is the XML of the rewrite rules:(added 19.08.2021 14:00 MEZ)
<proxy enabled="true" />
<rewrite>
<globalRules>
<rule name="ARR_server_proxy_SSL" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions>
<add input="{HTTPS}" pattern="on" />
</conditions>
<action type="Rewrite" url="https://h25XXXXX.stratoserver.net:4443/{R:0}" />
</rule>
<rule name="ARR_server_proxy" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<action type="Rewrite" url="http://h25XXXXX.stratoserver.net:4000/{R:0}" />
<conditions>
<add input="{HTTPS}" pattern="on" negate="true" />
</conditions>
<serverVariables>
</serverVariables>
</rule>
</globalRules>
<allowedServerVariables>
<add name="{HTTPS}" />
</allowedServerVariables>
</rewrite>