1. 程式人生 > >apache中通過HSTS實現http請求強制跳轉到https

apache中通過HSTS實現http請求強制跳轉到https

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來訪問。