2014-12-04 108 views
3

我們正在將我們的一個網站遷移到先前使用ARR (Application Request Routing)作爲緩存逆向代理設置的Azure。它被設置爲一個反向代理,它將兌現它所代理的站點的緩存頭。Azure網站作爲使用ARR的緩存反向代理

我跟着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只是路線/times所有請求example.com。這部分工作很好。它只是忽略了example.com的高速緩存標題,並沒有緩存任何這是我們爲什麼要設置反向代理的主要用例。

這個配置在安裝了IIS和ARR的普通機器上工作得很好。

我真的很想在Azure網站上使用這個工具,而不必在雲服務中使用Web角色。我希望這是可能的。

回答

1

您是否嘗試按如下方式指定preserveHostHeader =「true」標誌?

<proxy xdt:Transform="InsertIfMissing" enabled="true" preserveHostHeader="true" reverseRewriteHostInResponseHeaders="true" /> 
相關問題