在過去的幾年中,互聯(lián)網(wǎng)已經(jīng)迅速過渡到HTTPS,根據(jù)CloudFlare的測試報告,讓我們看一下如何優(yōu)化Apache + HTTPS的性能以獲得更佳的訪問體驗。
1. 開啟 HTTP/2
HTTP/2主要是為了解決現(xiàn)HTTP 1.1性能不好的問題才出現(xiàn)的。HTTP/2 相比于 HTTP/1.1,可以說是大幅度提高了網(wǎng)頁的性能,只需要升級到該協(xié)議就可以減少很多之前需要做的性能優(yōu)化工作。apache啟用HTTP/2只需要將以下代碼加入到配置文件中即可:
# 對于 https 服務器
# 對于 http 服務器
2.開啟 SSL session cache
啟用 SSL Session 緩存可以減少 TLS 的反復驗證,減少 TLS 握手。 1M 的內(nèi)存就可以緩存 4000 個連接,非常劃算,現(xiàn)在內(nèi)存便宜,盡量開啟。
3.啟用OCSP Stapling
OCSP Stapling 就是為了解決 OCSP 隱私問題和性能問題而生的。
其原理是:網(wǎng)站服務器將自行查詢OCSP服務器并緩存響應結(jié)果,然后在與瀏覽器進行TLS連接時返回給瀏覽器,這樣瀏覽器就不需要再去查詢了。因此,瀏覽器客戶端也不再需要向任何第三方披露用戶的瀏覽習慣,完美解決了隱私問題。同時,當有客戶端向服務器發(fā)起 SSL 握手請求時,服務器將證書的 OCSP 信息隨證書鏈一同發(fā)送給客戶端,從而避免了客戶端驗證會產(chǎn)生的阻塞問題,提升了HTTPS性能。由于 OCSP 響應是無法偽造的,因此這一過程也不會產(chǎn)生額外的安全問題。
所以,在服務器上部署OCSP Stapling能極大地提高安全穩(wěn)定性能、使網(wǎng)站訪問速度更快,用戶體驗更好。
如果不啟用 OCSP Stapling 的話,在用戶連接你的服務器的時候,需要去驗證證書,這個驗證證書的時間不可控,我們開啟OCSP Stapling后,可以省掉這一步。OCSP Stapling能提升TLS性能達30%。目前主流的web server都已支持OCSP Stapling,如Apache( 2.3.3 及以上),Nginx(1.3.7及以上), IIS(Win2008及以上)。
/www/server/apache/conf/extra 路徑下的 httpd-ssl.conf 文件打開,將下述代碼的注釋去掉
- SSLStaplingCache "shmcb:/www/server/apache/logs/ssl_stapling(32768)"
復制代碼 然后在apache配置文件中找到mod_socache_shmcb.so
取消前面的注釋#
上述兩行代碼添加在apache配置文件中,保存后重啟apache。
檢測地址:https://www.ssllabs.com/ssltest/
輸入域名,點擊 submit 進行檢測。
測試完成,若結(jié)果中 ocsp stapling 這項是 yes,代表你站點的 ocsp stapling 已成功開啟。
基于Apache的HTTPS性能最佳實踐 |