最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

利用HSTS安全協(xié)議柔性解決全站HTTPS的兼容性問題

2018-03-02 23:54 作者:黑貓SAMA  | 我要投稿

前言:這篇文章還是轉(zhuǎn)載的,因為我自己的站點想啟用強制HTTPS,找了半天似乎最有效的是利用HSTS協(xié)議強制跳轉(zhuǎn),這篇文章講的是如何在主流服務(wù)器上配置HSTS協(xié)議,那就轉(zhuǎn)載一下備用吧……

——————————————————————————————

一、HSTS 協(xié)議

這里我們要借助一個新的安全協(xié)議:HSTS

HSTS(HTTP Strict Transport Security)國際互聯(lián)網(wǎng)工程組織 IETE 正在推行一種新的 Web 安全協(xié)議,作用是強制客戶端(如瀏覽器)使用 HTTPS 與服務(wù)器創(chuàng)建連接。

主要目的是為了解決 HTTPS 網(wǎng)站首次請求時使用的是未加密的 HTTP 協(xié)議,也就說用戶一般訪問我們的網(wǎng)站都是直接在瀏覽器輸入域名,比如 zhangge.net,然后我們的服務(wù)器檢測到是 HTTP 請求,就 301 跳轉(zhuǎn)到 HTTPS 頁面。那么前半程采用的就是未加密的 HTTP 請求,同樣存在被劫持的可能,那么 HTTPS 說好的安全性也就大打折扣了!

在我看來,HSTS 還有另外一層好處:增強網(wǎng)站的兼容性。

以往分享的全站 HTTPS 都是采用 301 強制性跳轉(zhuǎn),而且還會區(qū)分下低版本 IE、不支持 HTTPS 的搜索引擎來忽略 301 跳轉(zhuǎn),很明顯這樣做無法照顧到所有情況。那么如果是用 HSTS 呢?

采用 HSTS 后,支持這個協(xié)議的瀏覽器會自動跳轉(zhuǎn)到 HTTPS 頁面,返回碼為 307:


而不支持 HSTS 的瀏覽器訪問我們的網(wǎng)站,則不會產(chǎn)生跳轉(zhuǎn),從而提高了兼容性。這個機制對于不支持 HTTPS 的搜索引擎來說是非常友好的做法了!

二、開啟 HSTS

開啟 HSTS 很簡單,只要在我們網(wǎng)站的響應(yīng)頭里面新增 HSTS 即可,下面簡單說下

①、Nginx 服務(wù)器

只需要在站點 server 模塊內(nèi)插入如下配置并重啟:

Apache 如下配置并重啟:

③、LigHttpd

將下述配置增加到你的 Lighttpd 配置文件(一般是 /etc/lighttpd/lighttpd.conf)并重啟:

④、通用方法

如果你用的虛擬主機,或者不會折騰 WEB 軟件,那么可以采用更簡單的通用方法。原理很簡單,通過代碼來新增響應(yīng)頭即可,這里只分享一下 php 的做法,其他語言自行參考:

將如下代碼插入到網(wǎng)站根目錄的 index.php 即可:

三、相對鏈接

當然,為了兼容不支持 HTTPS 的客戶端,我們還需要將網(wǎng)站的所有超鏈接都改成相對模式:

比如,正常的頁面鏈接如下所示:

好處就是,不管是 HTTP 還是 HTTPS 請求,頁面中的地址都是和請求協(xié)議保持一致,避免出現(xiàn)頁面是 HTTP,而頁面中的鏈接卻是 HTTPS 的情況,那么前面的做法也就沒了意義。

如何修改為相對模式,估計有同學又玩不轉(zhuǎn)了。萬變不離其宗,和以前純代碼啟用七牛 CDN 一樣!

直接粗暴替換前臺輸出的代碼即可:

四、提交 HSTS

上文已介紹了 HSTS,主要是為了解決 HTTP 請求 301 跳轉(zhuǎn)到 HTTPS 這個過程被劫持問題,而實際上就算加上 HSTS 響應(yīng)頭,用戶請求的前半程依然是 HTTP,并沒有什么卵用。

提出這個協(xié)議的磚家們就想出了一個解決辦法:將支持 HSTS 的網(wǎng)站全部加入一個 Preload 的清單,支持 HSTS 協(xié)議的瀏覽器請求網(wǎng)站前會查詢當前網(wǎng)站是否在清單中,如果是那么直接轉(zhuǎn)換為 HTTPS 請求!從而解決前半程為 HTTP 的問題(不專業(yè),但說人話。。。)。

那么,如果我們的網(wǎng)站啟用了 HSTS,還得將網(wǎng)站提交到這個 Preload 清單才行了

提交地址:https://hstspreload.appspot.com/  (需要扶墻訪問)

提交直到批準,我們的網(wǎng)站必須強制 301 跳轉(zhuǎn)到 HTTPS,否則無法通過,完成審核后再取消 301 即可。

當然,提交后會顯示正在提交到 preload list,快的話兩三天,慢的話一兩個月都是有可能的:

——————————————————————————————

后記到此結(jié)束,如果想查看原文,我會在評論置頂原文鏈接。另外我個人的小站

https://www.mimikko.club

(雖然沒強制要求https,但還是希望都用https訪問吧)

利用HSTS安全協(xié)議柔性解決全站HTTPS的兼容性問題的評論 (共 條)

分享到微博請遵守國家法律
卢龙县| 新巴尔虎左旗| 霍林郭勒市| 阿拉善左旗| 松桃| 永寿县| 淳安县| 保定市| 离岛区| 双城市| 马鞍山市| 莱芜市| 洮南市| 大理市| 丰台区| 平邑县| 巨鹿县| 文水县| 茌平县| 兴仁县| 措美县| 唐山市| 信宜市| 屏边| 禄劝| 文登市| 余干县| 巨鹿县| 同仁县| 宁河县| 沁水县| 永丰县| 红河县| 洪雅县| 乐业县| 邛崃市| 江陵县| 韶关市| 开平市| 温州市| 炉霍县|