如何啟用HTTP嚴格運輸安全(HSTS)?
啟用HSTS 的方法是在HTTPS 網站中配置Strict-Transport-Security 響應頭,具體操作為:1. Nginx 在server 塊添加add_header 指令;2. Apache 在配置文件或.htaccess 添加Header 指令;3. IIS 在web.config 添加customHeaders;需確保站點已完整支持HTTPS,參數包括max-age(有效期)、includeSubDomains(子域名生效)、preload(預加載列表),提交到HSTS Preload 列表前提包括根域名和子域名均支持HTTPS、有有效證書、根路徑返回200 響應,可通過瀏覽器開發者工具、SSL Labs Test 或curl 命令測試是否生效。
啟用HTTP 嚴格傳輸安全(HSTS)其實就是在你的HTTPS 網站上配置一個響應頭,告訴瀏覽器今後訪問這個網站必須走HTTPS,不能用明文的HTTP。這樣做的好處是防止SSL 剝離攻擊、強制加密連接,提升安全性。
下面說說怎麼在不同場景下正確啟用HSTS。
如何在Web 服務器中配置HSTS?
主流的Web 服務器都支持添加HSTS 響應頭,關鍵是在響應中加入:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
具體操作如下:
- Nginx :在HTTPS 的server 塊裡加上:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
- Apache :在虛擬主機配置或
.htaccess
中添加:Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
- IIS :在web.config 文件的system.webServer 段落添加:
<httpProtocol> <customHeaders> <add name="Strict-Transport-Security" value="max-age=31536000; includeSubDomains; preload" /> </customHeaders> </httpProtocol>
注意:配置前確保你的站點已經完整支持HTTPS,否則開啟後可能會導致無法訪問。
HSTS 頭字段各參數的作用
max-age
:指定瀏覽器強制使用HTTPS 的時間(單位秒),比如31536000 秒就是一年。-
includeSubDomains
:表示該策略適用於所有子域名。 -
preload
:允許你將域名提交到瀏覽器內置的HSTS 預加載列表中,這樣用戶第一次訪問時也強制HTTPS。
如果你只是想先測試,可以暫時不加preload
,等確認沒問題再加上。一旦提交到預加載列表,就不能輕易撤回了。
提交到HSTS Preload 列表需要注意什麼?
如果你想讓你的域名被主流瀏覽器默認以HTTPS 方式加載,就得去//m.sbmmt.com/link/ef96003dff3714cf3720aee9b14503b7提交申請。
前提條件包括:
- 根域名和所有子域名都必須支持HTTPS
- 必須有有效的證書
- 必須在根路徑返回200 的響應(用於驗證)
- 已經正確設置了HSTS 響應頭,包含
includeSubDomains
和preload
提交之後,需要等待一段時間才會被加入Chrome、Firefox 等瀏覽器的預加載列表中。
測試HSTS 是否生效
你可以通過以下方式檢查是否設置成功:
- 使用瀏覽器開發者工具(F12),查看響應頭中是否有
Strict-Transport-Security
- 用在線工具如SSL Labs Test檢查你的網站安全配置
- 嘗試用curl 命令查看響應頭:
curl -I http://yourdomain.com
如果看到HSTS 頭,並且值符合預期,就說明配置生效了。
基本上就這些。配置HSTS 不復雜,但容易忽略細節,比如誤加preload 或者沒覆蓋子域名,所以建議逐步來,先測試再上線。
以上是如何啟用HTTP嚴格運輸安全(HSTS)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

如何使用NginxProxyManager實現HTTP到HTTPS的自動跳轉隨著互聯網的發展,越來越多的網站開始採用HTTPS協議來加密傳輸數據,以提高數據的安全性和用戶的隱私保護。由於HTTPS協定需要SSL憑證的支持,因此在部署HTTPS協定時需要有一定的技術支援。 Nginx是一款強大且常用的HTTP伺服器和反向代理伺服器,而NginxProxy

如何使用NginxProxyManager實現HTTPS協定下的反向代理近年來,隨著網際網路的普及和應用場景的多樣化,網站和應用程式的存取方式變得越來越複雜。為了提高網站的存取效率和安全性,許多網站開始採用反向代理來處理使用者的請求。而針對HTTPS協定的反向代理,在保護使用者隱私和確保通訊安全性方面扮演著重要的角色。本文將介紹如何使用NginxProxy

設定步驟:1、取得SSL憑證;2、設定SSL憑證;3、編輯Tomcat設定檔;4、重啟Tomcat。詳細介紹:1、需要取得SSL證書,可以自簽名證書,也可以從認證機構(如Let's Encrypt)取得有效的SSL證書;2、將取得的SSL證書和私鑰檔案放置在伺服器上,確保這些文件位於安全的位置,只有具有足夠權限的使用者可以存取;3、編輯Tomcat設定檔等等。

Nginx是一個高效能的Web伺服器軟體,同時也是一款強大的反向代理伺服器和負載平衡器。隨著互聯網的迅速發展,越來越多的網站開始採用SSL協議保護敏感用戶數據,而Nginx也提供了強大的SSL支持,使得Web伺服器的安全性能更進一步。本文將介紹如何設定Nginx以支援SSL協議,並保護Web伺服器的安全效能。什麼是SSL協定? SSL(SecureSocke

報錯的原因urllib3的ProxySchemeUnknown(proxy.scheme)錯誤通常是因為使用了不支援的代理協定所導致的。在這種情況下,urllib3無法辨識代理伺服器的協定類型,因此無法使用代理進行網路連線。要解決這個問題,您需要確保使用支援的代理協議,例如Http或https.如何解決要解決這個問題,您需要確保使用支援的代理協議,例如HTTP或HTTPS。您可以透過設定urllib3的代理參數來解決這個問題。如果是使用http代理,程式碼範例如下:importurllib3http

如何設定PHP表單的HTTPS安全連線?隨著網路的發展,安全性在網頁開發中變得越來越重要。加密傳輸協定HTTPS在保護資料傳輸過程中扮演關鍵的角色。在使用PHP表單進行資料傳輸時,我們可以採取一些措施來確保連線的安全性。本文將指導您如何設定PHP表單的HTTPS安全連接,並附帶一些程式碼範例。購買SSL憑證首先,您需要購買一個SSL憑證。 SSL憑證是保證網站

隨著科技的發展,網路通訊成為了現代社會資訊傳輸的重要工具之一。但同時,網路上的資訊傳輸面臨被惡意攻擊和竊取的風險,因此安全性顯得尤為重要。基於此,HTTPS協議就應運而生。它是一種在HTTP協定上加入SSL/TLS加密的方式來確保網路傳輸安全性的協定。 Java作為一門廣泛應用於網頁開發的語言,自然也提供了豐富的API來支援HTTPS協定。本文將

https工作流程包括客戶端發起請求、伺服器回應、SSL/TLS握手、資料傳輸和客戶端渲染等步驟,透過這些步驟可以確保資料在傳輸過程中的安全性和完整性。
