Iis

http到https重定向多個站點

  • September 24, 2020

我使用 IIS10,我想將所有網站的所有 HTTP 重定向到 HTTPS。

例如:

  • http://one.test.example應該重定向到https://one.test.example
  • http://two.test.example應該重定向到https://two.test.example
  • http://three.test.example應該重定向到https://three.test.example

所有站點都在一個介面後面的一台伺服器中(相同的 IP,相同的 443 埠)

我嘗試了多種解決方案,但沒有任何效果。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
   <system.webServer>
       <rewrite>
           <rules>
               <rule name="HTTPS" stopProcessing="true">
                   <match url="(.*)" />
                   <conditions>
                       <add input="{HTTPS}" pattern="^OFF$" />
                   </conditions>
                   <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
               </rule>
           </rules>
       </rewrite>
   </system.webServer>
</configuration>

在子域的根文件夾中使用此 web.config 文件。這將使用查詢字元串將所有請求重寫為 https。

為此,您需要在 IIS 中為每個域和規則分別創建一個單獨的站點。查看配置重寫規則文章以獲取一些範例。此外,您需要下載並安裝URL Rewrite modules。如果您在伺服器上,請查看如何在Windows Server上安裝模組

引用自:https://serverfault.com/questions/913271