我剛剛安裝了https證書,並且很難設置重定向。
我嘗試在IIS(7.5)中使用HTTP重定向,但無法讓它在IE和FF和Chrome中工作,一旦我通過初始登錄頁面,我會得到「太多重定向」錯誤。
我也試過URL重寫,但它是完全失敗,所以我恢復到HTTP重定向。HTTPS重定向到一個文件夾不工作
用戶使用「http://example.com/internal」訪問網站。現在,我想重定向到「https://internal.example.com/internal」,並且無法使其工作。如果可能的話,我寧願不要使用URL中的最後一個「內部」(我在請求CSR時使用的通用名稱是internal.example.com)。
在HTTP重定向中,我使用狀態碼301(永久)將「重定向到此目的地的請求」設置爲「https://internal.example.com/internal/default.aspx」並將「重定向行爲」設置爲「僅將請求重定向到此目錄中的內容」。
網站有一個包含.Net應用程序文件並需要表單身份驗證的「內部」文件夾。根文件夾中的文件對所有人開放(即www.example.com向所有人開放)。
任何幫助你可以提供設置這是非常感謝。
更新
我更新的web.config並添加了一些URL重寫規則,但仍然不能令人信服。
在IE中,當我鍵入example.com/internal時,它會轉到https://internal.example.com而不是http://internal.example.com/internal。
在Chrome中,它不會轉到https,停留在http中並顯示「不安全」。
<rewrite>
<rules>
<rule name="Rewrite to internal" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www.example.com$" />
</conditions>
<action type="Redirect" url="{R:1}" />
</rule>
<rule name="internal.example.com to sub folder internal" enabled="true" stopProcessing="true">
<match url="(.*)" ignoreCase="true" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTPS}" pattern="^OFF$" />
<add input="{HTTP_HOST}" pattern="^internal\.example\.com$" ignoreCase="false" />
<add input="{PATH_INFO}" pattern="^/internal($|/)" negate="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/" />
</rule>
</rules>
</rewrite>
第一條規則是讓01經過;第二個是將http://example.com/internal重定向到https://internal.example.com/internal。
謝謝。除了「表單身份驗證」之外,我還選擇了「基本身份驗證」,並且不允許我啓用匿名身份驗證。我禁用基本和啓用匿名,但沒有改變。我剛剛更新了一些關於web.config修改的更多信息。 – NoBullMan
如果Request.ServerVariables [「SERVER_NAME」]和Request.ServerVariables [「PATH_INFO」]滿足我的條件,我決定放棄URL重寫和HTTP重定向,並在Default.aspx.cs的Page_Init上使用Response.Redirect添加重定向語句重定向。適用於所有瀏覽器。 – NoBullMan
我有一個類似的項目設置,我需要做的是設置匿名身份驗證,禁用所有其他身份驗證,然後使用aweb config rewrite將所有端口80流量重定向到443。 –