我在IIS中使用了一个虚拟机,我已经在该虚拟机中运行了一个网站,让我们说 mysite.com 而不是我想将我的博客放在网站的目录中,该博客是一个WordPress网站,分别托管在另一个天蓝色网站http://siteblog.azurewebsites.net
我在IIS中完成了一个包含两个规则的反向代理,问题在于出站规则,我收到以下错误:
HTTP的内容无法应用出站重写规则 响应被编码(“gzip”)。
在Google上搜索我发现了这个article和两个问题1,2所有这些问题几乎都采用了相同的方法。
根据文章,我必须在Windows注册表中添加一个密钥,据我所知,这是不可能的。
在运行网站的计算机上,从命令行运行:reg 添加HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ InetStp \ Rewrite / v LogRewrittenUrlEnabled / t REG_DWORD / d 0您可能需要遵循此操作 使用iisreset
我在IIS web.config中的规则:
<rewrite>
<outboundRules>
<rule name="ReverseProxyOutboundRule1" preCondition="ResponseIsHtml1" stopProcessing="false">
<match filterByTags="A, Area, Base, Form, Img, Link" pattern="^http(s)?://mseblog.azurewebsites.net/(.*)" />
<action type="Rewrite" value="http{R:1}://mysite.com/{R:2}" />
</rule>
<preConditions>
<preCondition name="ResponseIsHtml1">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
</preCondition>
</preConditions>
</outboundRules>
<rules>
<rule name="ReverseProxyInboundRule1" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{CACHE_URL}" pattern="^(https?)://" />
</conditions>
<action type="Rewrite" url="{C:1}://siteblog.azurewebsites.net/{R:1}" logRewrittenUrl="false" />
</rule>
</rules>
</rewrite>
问题: