请给我一些建议,告诉我如何通过创建URL重写规则来实现以下内容。 我在同一台机器上:
1. IIS with "mysite.ddns.net/xxxxxx/" accessible via internet
2. uTorrent with WebUI "192.168.0.5:8080/gui/" which is accessible only via LAN.
我制定了以下规则:
<rule name="root to xxxxxx" enabled="true" stopProcessing="true">
<match url="^$" />
<action type="Redirect" url="/xxxxxx/" />
</rule>
<rule name="http to https" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
</rule>
<rule name="ReverseProxy_uTorrent_Inbound" enabled="true" stopProcessing="true">
<match url="^utorrent/(.*)" />
<action type="Rewrite" url="http://192.168.0.5:8080/{R:1}" logRewrittenUrl="false" />
<serverVariables>
<set name="HTTP_ACCEPT_ENCODING" value="" />
</serverVariables>
</rule>
因此,要访问uTorrent,我需要输入"mysite.ddns.net/utorrent/gui/"
但是输入"mysite.ddns.net/utorrent/"
对我来说会更舒服。
我试图用以下内容替换上述规则:
<rule name="ReverseProxy_uTorrent_Inbound_2" enabled="true" stopProcessing="true">
<match url="^utorrent/" />
<action type="Rewrite" url="http://192.168.0.5:8080/gui/" appendQueryString="true" logRewrittenUrl="true" />
<serverVariables>
<set name="HTTP_ACCEPT_ENCODING" value="" />
</serverVariables>
</rule>
但收到了来自uTorrent的非常奇怪的回答
"Loading...
About
uTorrent µTorrent WebUI
Developers:..."
等等。
我已经搜索了很多,但不幸的是,我还没有找到解决方案。你有什么想法吗?
答案 0 :(得分:0)
我没有测试它,但应该可以工作:
<rule name="ReverseProxy_uTorrent_Inbound" enabled="true" stopProcessing="true">
<match url="^utorrent/(.*)" />
<action type="Rewrite" url="http://192.168.0.5:8080/gui/{R:1}" logRewrittenUrl="false" />
<serverVariables>
<set name="HTTP_ACCEPT_ENCODING" value="" />
</serverVariables>
</rule>