Created
January 10, 2019 20:29
-
-
Save musukvl/579729ba592c4e0c3bc38cf01ad26a90 to your computer and use it in GitHub Desktop.
Web,config for IIS url rewrite poxy from public domain to local port. Used for Teamcity
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!--- | |
config based on | |
https://blogs.msdn.microsoft.com/friis/2016/08/25/setup-iis-with-url-rewrite-as-a-reverse-proxy-for-real-world-apps/ | |
https://blogs.msdn.microsoft.com/friis/2016/08/25/iis-with-url-rewrite-as-a-reverse-proxy-part-2-dealing-with-500-52-status-codes/ | |
To you this configs you need to add | |
HTTP_ACCEPT_ENCODING | |
HTTP_X_ORIGINAL_ACCEPT_ENCODING | |
to Url Rewrite -> Allowed Server Variables | |
--> | |
<configuration> | |
<system.webServer> | |
<rewrite> | |
<rules> | |
<clear /> | |
<rule name="HttpToHttpsRule" stopProcessing="true"> | |
<match url="(.*)" /> | |
<conditions logicalGrouping="MatchAll" trackAllCaptures="false"> | |
<add input="{HTTPS}" pattern="^OFF$" /> | |
</conditions> | |
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" /> | |
</rule> | |
<rule name="ReverseProxyInboundRule1" stopProcessing="true"> | |
<match url="(.*)" /> | |
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" /> | |
<serverVariables> | |
<set name="HTTP_X_ORIGINAL_ACCEPT_ENCODING" value="{HTTP_ACCEPT_ENCODING}" /> | |
<set name="HTTP_ACCEPT_ENCODING" value="" /> | |
</serverVariables> | |
<action type="Rewrite" url="http://localhost:8091/{R:1}" /> | |
</rule> | |
</rules> | |
<outboundRules> | |
<rule name="ReverseProxyOutboundRule1" preCondition="ResponseIsHtml1"> | |
<match filterByTags="A, Form, Img" pattern="^http(s)?://localhost:8091/(.*)" /> | |
<action type="Rewrite" value="http{R:1}://teamcity.example.com/{R:2}" /> | |
</rule> | |
<rule name="RestoreAcceptEncoding" preCondition="NeedsRestoringAcceptEncoding"> | |
<match serverVariable="HTTP_ACCEPT_ENCODING" pattern="^(.*)" /> | |
<action type="Rewrite" value="{HTTP_X_ORIGINAL_ACCEPT_ENCODING}" /> | |
</rule> | |
<preConditions> | |
<preCondition name="ResponseIsHtml1"> | |
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" /> | |
</preCondition> | |
<preCondition name="NeedsRestoringAcceptEncoding"> | |
<add input="{HTTP_X_ORIGINAL_ACCEPT_ENCODING}" pattern=".*" /> | |
</preCondition> | |
</preConditions> | |
</outboundRules> | |
</rewrite> | |
</system.webServer> | |
</configuration> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment