目錄
如何在Web 服務器中配置HSTS?
HSTS 頭字段各參數的作用
提交到HSTS Preload 列表需要注意什麼?
測試HSTS 是否生效
首頁 運維 Nginx 如何啟用HTTP嚴格運輸安全(HSTS)?

如何啟用HTTP嚴格運輸安全(HSTS)?

Jul 12, 2025 am 01:00 AM
https 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 命令測試是否生效。

How to enable HTTP Strict Transport Security (HSTS)?

啟用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 響應頭,包含includeSubDomainspreload

提交之後,需要等待一段時間才會被加入Chrome、Firefox 等瀏覽器的預加載列表中。


測試HSTS 是否生效

你可以通過以下方式檢查是否設置成功:

  • 使用瀏覽器開發者工具(F12),查看響應頭中是否有Strict-Transport-Security
  • 用在線工具如SSL Labs Test檢查你的網站安全配置
  • 嘗試用curl 命令查看響應頭:
     curl -I http://yourdomain.com

    如果看到HSTS 頭,並且值符合預期,就說明配置生效了。


    基本上就這些。配置HSTS 不復雜,但容易忽略細節,比如誤加preload 或者沒覆蓋子域名,所以建議逐步來,先測試再上線。

    以上是如何啟用HTTP嚴格運輸安全(HSTS)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱門文章

Rimworld Odyssey溫度指南和Gravtech
1 個月前 By Jack chen
初學者的Rimworld指南:奧德賽
1 個月前 By Jack chen
PHP變量範圍解釋了
4 週前 By 百草
撰寫PHP評論的提示
3 週前 By 百草
在PHP中評論代碼
3 週前 By 百草

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Laravel 教程
1604
29
PHP教程
1509
276
如何使用Nginx Proxy Manager實現HTTP到HTTPS的自動跳轉 如何使用Nginx Proxy Manager實現HTTP到HTTPS的自動跳轉 Sep 26, 2023 am 11:19 AM

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

如何使用Nginx Proxy Manager實現HTTPS協定下的反向代理 如何使用Nginx Proxy Manager實現HTTPS協定下的反向代理 Sep 26, 2023 am 08:40 AM

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

tomcat如何配置https tomcat如何配置https Jan 05, 2024 pm 05:15 PM

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

Nginx與SSL:設定HTTPS保護Web伺服器 Nginx與SSL:設定HTTPS保護Web伺服器 Jun 09, 2023 pm 09:24 PM

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

解決方案:urllib3 ProxySchemeUnknown(proxy.scheme) 解決方案:urllib3 ProxySchemeUnknown(proxy.scheme) Feb 29, 2024 pm 07:01 PM

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

如何設定PHP表單的HTTPS安全連線? 如何設定PHP表單的HTTPS安全連線? Aug 17, 2023 pm 03:25 PM

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

Java API 開發中使用 Https 進行資料傳輸 Java API 開發中使用 Https 進行資料傳輸 Jun 18, 2023 pm 10:43 PM

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

https工作流程是什麼樣的 https工作流程是什麼樣的 Apr 07, 2024 am 09:27 AM

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

See all articles