提供WordPress、SEO技術與各項 IT 資訊
越來越多的網站都已經開始或者實現了從HTTP到HTTPS的升級和跳轉,這是一個網站安全發展的趨勢,同時也因為市場上SSL免費證書的充足,也進一步加快了普通網站實現 HTTPS 協議,但隨之而來的安全性問題也出現了。
其中幾乎所有的站長會開啟強制 HTTPS 機制,也就是利用 301/302 對網站的 HTTP 請求全部跳轉到 HTTPS,從而實現全站的 HTTPS 協議訪問,但這顯然不妥。所以這裡就要分享一下這個解決方法,那就是藉助一個新的 WEB 安全協議:HSTS
這篇文章主要是說明如何在Apache配置HSTS,如果客戶主機使用的是集成式環境如:WAMP、PHPStudy、Lamp、Apache都可以參考本嚮導進行配置。
在開啟配置之前,需要找到Apahce 的主配置文件httpd.conf。
LoadModule headers_module modules/ mod_mod_headers.so
插入HSTS代碼
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
編輯配置mydomain-ssl.conf內容如下:
DocumentRoot "\www\mydomain
ServerName mydomain.com:443
ServerAlias www.mydomain.com
ErrorLog "logs/error_log"
TransferLog "logs/access_log"
SSLEngine on
SSLCertificateFile "/conf/ssl/mydomain.pem"
SSLCertificateKeyFile "/conf/ssl/mydomain.key"
SSLCertificateChainFile "/conf/ssl/ca-chain.pem"
Header always set Strict-Transport-Security "max-age=63072000;
includeSubdomains; preload"
保存您正在編輯的配置文件。
這裡需要注意的是配置完HSTS命令後,務必修改其它文件。
重新啟動您的Apache,清除瀏覽器緩存,訪問2次查看效果。
您也可以通過chrome瀏覽器的開發者選項→網絡項查看服務器返回的頭信息,來判斷是否已經開啟HSTS
根據您對HSTS的配置,所查看到的Strict-Transport-Security 配置值可能不一樣。
恭喜您!您的網站已經開啟HSTS安全策略。
如遇其它問題歡迎反饋。