2017-12-18 183 views
0

如果我已經從服務器端啓用了HSTS標頭,那爲什麼Google Chrome會忽略它?我可以用http自由訪問網站。我期待瀏覽器應該強制網站加載HTTPS只。畢竟,HSTS就是爲了這個目的。如果我錯了,請糾正我。 參考Video爲什麼如果存在HSTS標頭,Chrome不會強制HTTPS?

Connection:keep-alive 
Content-Encoding:gzip 
Content-Type:text/html; charset=UTF-8 
Date:Mon, 18 Dec 2017 07:15:18 GMT 
Link:<http://example.com/wp-json/>; rel="https://api.w.org/" 
Server:nginx 
Set-Cookie:wfvt_1954975060=5a376b06351b6; expires=Mon, 18-Dec-2017 07:45:18 GMT; Max-Age=1800; path=/; HttpOnly 
Strict-Transport-Security:max-age=63072000; includeSubdomains; 
Transfer-Encoding:chunked 
Vary:Accept-Encoding 

回答

0

Strict-Transport-Security頭只在HTTPS頁面有效。它在HTTP頁面上被忽略 - 如果您想強制用戶使用HTTPS,請將它們從所有HTTP頁面重定向到HTTPS,並在它們被重定向到的頁面上顯示Strict-Transport-Security標題。

MDN explains why

注:Strict-Transport-Security忽略瀏覽器時,您的站點使用HTTP訪問;這是因爲攻擊者可能會攔截HTTP連接並注入標頭或將其刪除。如果您的站點通過HTTPS訪問且沒有證書錯誤,瀏覽器就知道您的站點具有HTTPS功能,並將遵守Strict-Transport-Security標題。

+0

哇!很高興知道。感謝澄清。 –

相關問題