If you need to add a reverse proxy to your Internet Information Server (IIS) you can just add a rule to your site configuration file. In the following example we add a reverse proxy (url rewrite) for a GraphQL Server to our WinCC Unified WebRH. Afterwards restart the site with the IIS services manager.
IIS Configuration File:
"C:\Program Files\Siemens\Automation\WinCCUnified\SimaticUA\web.config"
<configuration>
<system.webServer>
<rewrite>
<outboundRules>
<rule name="Remove Server header">
<match serverVariable="RESPONSE_Server" pattern=".+" />
<action type="Rewrite" value="" />
</rule>
</outboundRules>
<rules>
<rule name="Reverse Proxy to GraphQL" stopProcessing="true">
<match url="^graphql" />
<action type="Rewrite" url="http://localhost:4000/graphql" />
</rule>
<rule name="UMC SSO Static">
<match url="(.*)" />
<conditions>
<add input="{URL}" pattern="(.*)\/umc-sso(.*)" />
</conditions>
<serverVariables>
<set name="HTTP_COOKIE" value="{HTTP_COOKIE};ReverseProxyHost={HTTP_HOST};ReverseProxyPort={SERVER_PORT}" />
</serverVariables>
<action type="Rewrite" url="http://localhost:8443/umc-sso{C:2}" />
</rule>
</rules>
</rewrite>
...
More examples for rewrite rules
<rewrite>
<rules>
<rule name="Reverse Proxy to webmail" stopProcessing="true">
<match url="^webmail/(.*)" />
<action type="Rewrite" url="http://localhost:8081/{R:1}" />
</rule>
<rule name="Reverse Proxy to payroll" stopProcessing="true">
<match url="^payroll/(.*)" />
<action type="Rewrite" url="http://localhost:8082/{R:1}" />
</rule>
</rules>
</rewrite>
Restart site with “Internet Information Services (IIS) Manager”
