服務(wù)器啟用HSTS協(xié)議
- 威海seo技術(shù)提升 威海https
- 1809
HSTS(HTTP Strict Transport Security)國際互聯(lián)網(wǎng)工程組織IETF正在推行一種新的Web安全協(xié)議,網(wǎng)站可以選擇使用HSTS策略,來讓瀏覽器強制使用HTTPS與網(wǎng)站進行通信,以減少會話劫持風險。
采用HSTS協(xié)議的網(wǎng)站將保證瀏覽器始終連接到該網(wǎng)站的HTTPS加密版本,不需要用戶手動在URL地址欄中輸入加密地址。該協(xié)議將幫助網(wǎng)站采用全局加密,用戶看到的就是該網(wǎng)站的安全版本。HSTS的作用是強制客戶端(如瀏覽器)使用HTTPS與服務(wù)器創(chuàng)建連接。
服務(wù)器開啟HSTS的方法是,當客戶端通過HTTPS發(fā)出請求時,在服務(wù)器返回的超文本傳輸協(xié)議響應(yīng)頭中包含Strict-Transport-Security字段。非加密傳輸時設(shè)置的HSTS字段無效。
比如,https://www.williamlong.info 的響應(yīng)頭含有Strict-Transport-Security: max-age=31536000; includeSubDomains。這意味著兩點:在接下來的一年(即31536000秒)中,瀏覽器只要向www.williamlong.info或其子域名發(fā)送HTTP請求時,必須采用HTTPS來發(fā)起連接。比如,用戶點擊超鏈接或在地址欄輸入 http 網(wǎng)址 ,瀏覽器應(yīng)當自動將 http 轉(zhuǎn)寫成 https 網(wǎng)址。
對于nginx服務(wù)器,只要在添加Strict-Transport-Security這個HTTP頭部信息即可。
add_header Strict-Transport-Security "max-age=31536000";
但有一點需要注意,Strict-Transport-Security中的max-age的時間不能小于15552000。
對于Windows server服務(wù)器,打開網(wǎng)站目錄下的 web.config 這個文件,在相應(yīng)的位置添加上針對 https 響應(yīng)的 url 重寫規(guī)則(黑體部分),并保存。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="redirect to HTTPS" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}"
redirectType="Permanent" />
</rule>
</rules>
<outboundRules>
<rule name="Add Strict-Transport-Security when HTTPS" enabled="true">
<match serverVariable="RESPONSE_Strict_Transport_Security"
pattern=".*" />
<conditions>
<add input="{HTTPS}" pattern="on" ignoreCase="true" />
</conditions>
<action type="Rewrite" value="max-age=31536000" />
</rule>
</outboundRules>
</rewrite>
</system.webServer>
</configuration>
開啟了HSTS后,你部署SSL/TLS的服務(wù)檢測得分就可能是A+以上了。這時候就可以加入HSTS Preload List。
HSTS preload list是Chrome瀏覽器中的HSTS預(yù)載入列表,在該列表中的網(wǎng)站,使用Chrome瀏覽器訪問時,會自動轉(zhuǎn)換成HTTPS。Firefox、Safari、Edge瀏覽器也在采用這個列表。
進入hstspreload官網(wǎng),輸入你的域名,然后檢測結(jié)果會告訴是否符合加入HSTS Preload List,沒有問題的話勾選確定。
當然,加入到了HSTS Preload List后,你可能還需要等待1-2月,待新版本的Chrome和Chromium、Firefox、IE等發(fā)布后,你的域名算是正式被各大瀏覽器承認并強制使用Https訪問了。
來源:月光博客