apache中通過HSTS實現http請求強制跳轉到https
阿新 • • 發佈:2019-02-03
1. HSTS:
HSTS全稱HTTP Strict Transport Security,是國際網際網路工程組織IETE正在推行的一種新的Web安全協議。HSTS的作用是強制客戶端(如瀏覽器)使用HTTPS與伺服器建立連線。
伺服器端配置支援HSTS後,會在瀏覽器返回的HTTP首部中攜帶HSTS欄位。瀏覽器獲取該資訊後,會將所有HTTP訪問請求在內部做307跳轉到HTTPS。而無需任何網路過程。
2.HSTS preload list
是Chrome瀏覽器中的HSTS預載入列表,在該列表中的網站,使用Chrome瀏覽器訪問時,會自動轉換成HTTPS。Firefox、Safari、Edge瀏覽器也會採用這個列表。
3.實現HSTS示例:
vim /etc/httpd/conf/httpd.conf # 末尾新增下面三行
Header always set Strict-Transport-Security "max-age=15768000"
RewriteEngine on
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
4. HSTS的不足:
使用者首次訪問某網站是不受HSTS保護。這是因為首次訪問時,瀏覽器還未收到HSTS,所以仍有可能通過明文HTTP來訪問。