nginx、Apache、Lighttpd啟用HSTS

來源:互聯網
上載者:User

標籤:rtu   存在   load   16px   lan   告訴   server   啟用   uri   

http://www.ttlsa.com/web/hsts-for-nginx-apache-lighttpd/

 

302跳轉

通常情況下,我們將使用者的 HTTP 要求 302 跳轉到 HTTPS,這會存在兩個問題:
不夠安全,302 跳轉會暴露使用者訪問網站,也容易被劫持
拖慢訪問速度,302 跳轉需要一個 RTT(The role of packet loss and round-trip time),瀏覽器執行跳轉也需要時間

HSTS

302 跳轉是由瀏覽器觸發的,伺服器無法完全控制,這個需求導致了 HSTS(HTTP Strict Transport Security)的誕生。HTSP 就是添加 header 頭(add_header Strict-Transport-Security max-age=15768000;includeSubDomains),告訴瀏覽器網站使用 HTTPS 訪問,支援HSTS的瀏覽器(Chrome, firefox, ie 都支援了 HSTS(http://caniuse.com/#feat=stricttransportsecurity))就會在後面的請求中直接切換到 HTTPS。在 Chrome 中會看到瀏覽器自己會有個 307 Internal Redirect 的內部重新導向。在一段時間內也就是max-age定義的時間,不管使用者輸入www.ttlsa.com還是http://www.ttlsa.com,都會預設將請求內部跳轉到https://www.ttlsa.com。
伺服器端配置HSTS,減少302跳轉,其實HSTS的最大作用是防止302 HTTP劫持。HSTS的缺點是瀏覽器支援率不高,另外配置HSTS後HTTPS很難即時降級成HTTP。
同時,也建議啟用SPDY來提高效能。有關SPDY內容參見前面文章,不在此外累述了。

下面來說說如何在Apache2, NGINX , Lighttpd啟用HSTS。

Apache2

# Optionally load the headers module:
LoadModule headers_module modules/mod_headers.so

<VirtualHost 0.0.0.0:443>
    Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
</VirtualHost>

然後,重啟Apache服務。

nginx

add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

在server端添加該頭部,並重啟服務。

Lighttpd

server.modules += ( "mod_setenv" )
$HTTP["scheme"] == "https" {
    setenv.add-response-header  = ( "Strict-Transport-Security" => "max-age=63072000; includeSubdomains; preload")
}


X-Frame-Options 頭部

X-Frame-Options 頭部添加到HTTPS網站,確保不會嵌入到frame 或 iframe,避免點擊劫持,以確保網站的內容不會嵌入到其他網站。

Apache

Header always set X-Frame-Options DENY

nginx

add_header X-Frame-Options "DENY";

Lighttpd

server.modules += ( "mod_setenv" )
$HTTP["scheme"] == "https" {
    setenv.add-response-header  = ( "X-Frame-Options" => "DENY")
}

nginx、Apache、Lighttpd啟用HSTS

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.