【问题标题】:Azure website as a caching reverse proxy using ARR使用 ARR 作为缓存反向代理的 Azure 网站
【发布时间】:2014-12-04 02:53:10
【问题描述】:

我们正在将我们的一个网站迁移到之前使用ARR (Application Request Routing) 作为缓存反向代理设置的 Azure。它被设置为一个反向代理,它将尊重它所代理的站点的缓存标头。

我关注了this guide on using an Azure website as a reverse proxy,一切正常,只是它不支持它所代理的站点的缓存标头。我尝试在我的applicationHost.xdt 中添加一些更相关的元素,但我所做的任何事情似乎都没有任何效果。

这是我applicationHost.xdt的相关部分:

<system.webServer>
    <caching xdt:Transform="Replace" enabled="true" enableKernelCache="true" maxResponseSize="1000000"></caching>

    <proxy xdt:Transform="InsertIfMissing" enabled="true" reverseRewriteHostInResponseHeaders="true" minResponseBuffer="4096" responseBufferLimit="12392">
        <cache enabled="true" queryStringHandling="Accept" validationInterval="00:01:00" />
    </proxy>
</system.webServer>

这是我的web.config

<system.webServer>
    <rewrite>
        <rules>
            <rule name="CurrentTime" stopProcessing="true">
                <match url="^times/?(.*)" />
                <action type="Rewrite" url="http://example.com/{R:1}" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

web.config 只是将所有请求路由到 /timesexample.com。那部分工作得很好。它只是忽略了example.com 的缓存标头而不缓存任何内容,这是我们为什么要设置反向代理的主要用例。

同样的配置在安装了 IIS 和 ARR 的普通机器上也能正常工作。

我真的很想让它在 azure 网站中运行,而不必在云服务中使用 Web 角色。我希望这是可能的。

【问题讨论】:

    标签: caching iis azure reverse-proxy azure-web-app-service


    【解决方案1】:

    您是否尝试如下指定 preserveHostHeader="true" 标志?

     <proxy xdt:Transform="InsertIfMissing" enabled="true" preserveHostHeader="true" reverseRewriteHostInResponseHeaders="true" /> 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-27
      相关资源
      最近更新 更多