2015-12-05 29 views
22

我有困難找出這意味着什麼時,我有Non-Authoritative-Reason : HSTS非權威性的原因的報頭字段[HTTP]

我尋覓了很多,但只是想出了約HSTS一些解釋響應頭(重定向從HTTP到HTTPS)。任何人都可以幫助我嗎?順便說一下,我使用的是Chrome。

感謝

回答

39

你正在嘗試連接該服務器使用嚴格的傳輸安全(HSTS),以確保HTTPS只使用本網站而不是默認的HTTP。

這意味着如果您輸入http://www.servername.com,Chrome會自動將其轉換爲https://www.servername.com

這是一項安全功能,可防止使用未加密且可被黑客讀取和更改的http。這可以由服務器通知Chrome(通過響應請求發送的特殊HTTP頭)來設置它使用HSTS。然後Chrome會將該設置緩存達到該報頭中max-age值所定義的時間段。此外,網站所有者可以將其網站提交到Chrome中自動包含的預加載列表中,該列表甚至可以保護第一次訪問,因爲通常您需要訪問該網站以接收標題以激活此功能。

Chrome在網絡標籤中顯示的方式是通過創建一個虛擬307響應並將其重定向到https版本的地址。但這是一個假的迴應,並不是由服務器生成的 - 現實情況是Chrome在請求甚至到達服務器之前在內部完成了這個操作。

要清除網站的此設置,您可以在Chrome的網址字段中輸入以下內容:chrome://net-internals/#hsts,然後搜索您的網站並將其刪除。您也可以將其設置在頂級域名中,幷包含子域名,以便您可能需要從中刪除。或者,您可以更改服務器配置以發佈最大年齡爲0的標頭,並重新訪問該站點以清除該標頭,然後停止發佈標頭,這對其他瀏覽器很有幫助,因爲它不太容易清除此標頭。

請注意,如果站點位於預加載列表中,因爲它已嵌入到Web瀏覽器的代碼中,您無法清除此設置。網站所有者可以提交要從預加載列表中刪除的請求,但這需要幾個月的時間才能完成Chrome的發佈週期,並且沒有爲其他瀏覽器定義的時間軸。由於安全原因,Chrome也無法覆蓋預加載的設置。

+0

有什麼辦法來清除緩存的Chrome其網站上觸發嗎?我正在調試我的Apache反向代理配置。 – gogowitsch

+0

在我的答案中添加了詳細信息。 –

+0

以下是預加載列表:https://hstspreload.org/ –

1

一些附加信息,以BazzaDP的答案...

Non-Authoritative-Reason : HSTS在響應中返回是不是你已經配置,而是Chrome瀏覽器本身。由於Chrome瀏覽器劫持了該請求,因此Chrome瀏覽器也會添加此特定標題以告知已啓用HSTS。查看網絡選項卡,您將看到帶有此標題集的假307響應。

所有這些都是從開始的在您的服務器上包含Strict-Transport-Security標頭。

如果你想在全力以赴,這裏的HSTS preload list