Https
IIS 將所有流量重寫為 SSL
我目前的配置是:
<rule name="Force HTTPS" enabled="true"> <match url="(.*)" ignoreCase="false" /> <conditions> <add input="{HTTPS}" pattern="off" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}{R:1}" appendQueryString="true" redirectType="Permanent" /> </rule>
並且指向 http 的連結不起作用。但是當您輸入直接(主)網址時,上述規則確實有效。Google 上列出的連結不起作用;他們沒有,
https
但規則應該重定向他們嗎?我不明白。當我直接轉到圖像範例時:
http://www.domain.com/img.jpg
那不起作用。https 確實(手動輸入時)我做錯了什麼?現在我找到了這個帶有範例的網站:http ://www.sslshopper.com/iis7-redirect-http-to-https.html
<rule name="HTTP to HTTPS redirect" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="off" ignoreCase="true" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Found" /> </rule>
但這看起來並沒有太大的不同。為什麼我的配置不重定向Google連結和直接連結到圖像,但重定向主域。所有指向頁面的直接深層連結都不適用於 http。我得到一個
server not found
例外…**編輯:**在 iis 管理器中未檢查需要 ssl
編輯2:
這似乎有效:
<rule name="Force HTTPS" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="off" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" /> </rule>
但這不適用於: http: //www.domain.com/app_themes/themeName/img.jpg
和 http://www.domain.com/urlrewritten (用 global.asax 中的 maproutes 重寫)
<rule name="Force HTTPS" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="off" ignoreCase="true"/> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" /> </rule>
工作,也與映射路線的 url 重寫等。在 Internet Explorer、Firefox 和 chrome 中測試:)