3
我有一個負載均衡器偵聽端口80和443,但由於安全策略,負載均衡器和Web服務器之間的流量必須加密。我試圖從http生成一個重定向到https,但通常的方法不起作用,可以假定的是,因爲IIS無法區分http vs https的原始請求。這是因爲當請求到達Web服務器時,它已經被加密,並且已經被加密並且在端口443處。HTTP到HTTPS重定向到端口443上的負載均衡器後面
現在我正在使用帶有mods的重寫模塊到web.config,重定向工作正常 - > LB-> 80流量,但不適用於80-> LB-> 443流量。
這裏是我的web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
注意,這是我喜歡的web.config文件的解決方案(如果它可以進行修改,以工作爲80-> LB-> 443)是重定向作品對於非ASP.NET頁面。
任何想法?