从IIS 8.5反向代理到天蓝色网站

时间:2015-04-25 02:49:16

标签: wordpress azure iis azure-web-sites

我在IIS中使用了一个虚拟机,我已经在该虚拟机中运行了一个网站,让我们说 mysite.com 而不是我想将我的博客放在网站的目录中,该博客是一个WordPress网站,分别托管在另一个天蓝色网站http://siteblog.azurewebsites.net

reverse proxy

我在IIS中完成了一个包含两个规则的反向代理,问题在于出站规则,我收到以下错误:

  

HTTP的内容无法应用出站重写规则   响应被编码(“gzip”)。

在Google上搜索我发现了这个article和两个问题12所有这些问题几乎都采用了相同的方法。

根据文章,我必须在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>

问题:

  • 如何修复错误?
  • 除了使用URL重写或反向代理之外还有其他任何方法吗?

0 个答案:

没有答案