Windows

由於證書問題,在 web.config 中重定向

  • March 21, 2016

我正在使用一個 UCC SSL 證書在 IIS 7.5 上執行一些網站,其中有 10 個域受到保護。大多數是something.company.ch,有些是something.anothercompany.ch

我們的 web.config 中有一個重定向規則,它將每個 HTTP 請求重定向到一個 HTTPS 請求

我的問題是,我們有像 company.de、company.com 這樣的域,它們不受 SSL 證書的保護,但這些域實際上指向我的 company.ch 站點(IIS 中的站點綁定)。

如果有人現在打開 URL www.company.de,他會收到證書錯誤。

為了獲得最佳Google排名,您應該在 web.config 中進行 HTTPS 重定向,所以我們認為我們需要這樣做。因此,我們嘗試首先將http://www.company.de>重定向到<http://company.ch>,然後再重定向到<https://www.company.ch,但不幸的是,這並不能解決問題。

有誰知道如何解決這個問題?或者更好的方法來完成這項工作?

這是web.config規則部分

# Redirect of company.de to company.ch
&lt;rule name="company.de to company.ch" patternSyntax="ECMAScript" stopProcessing="true"&gt;
   &lt;match url=".*" /&gt;
   &lt;conditions logicalGrouping="MatchAny"&gt;
       &lt;add input="{HTTP_HOST}" pattern="^company.de$" /&gt;
   &lt;/conditions&gt;
   &lt;action type="Redirect" url="https://www.company.ch/{R:0}" /&gt;
&lt;/rule&gt;

# Redirect everything to HTTPS
&lt;rule name="Redirect to HTTPS" stopProcessing="true"&gt;
   &lt;match url="(.*)" /&gt;
   &lt;conditions&gt;
       &lt;add input="{HTTPS}" pattern="^OFF$" /&gt;
   &lt;/conditions&gt;
   &lt;action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" /&gt;
&lt;/rule&gt;

兩件事情:

  1. 頂部的重定向仍然有 https 而不是 http。
  2. HTTP_HOST 條件將嚴格匹配 company.de 而不是像 www.company.de 這樣的主機。雖然我可能會弄錯正則表達式(在電話上打字會導致拼寫錯誤),但正則表達式應該類似於^(.*\.)?something.de$

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