Nginx
NGINX 上的第一個 SSL 頁面載入緩慢
我最近從 GeoTrust 購買了 QuickSSL 證書,並在 NGINX 上使用它。一切都很好,但是在頁面實際載入之前有一個令人討厭的秒。
如果我查看其他 SSL 網站,它們中的大多數會立即載入。
這是我的 SSL 配置:
ssl on; ssl_certificate /usr/local/nginx/ssl/www.crt; ssl_certificate_key /usr/local/nginx/ssl/www.key;
我發現關於在指令
ssl
末尾添加listen
,但它沒有解決它。要重現此問題,我必須關閉網站並稍後重新訪問(大約 15 分鐘?)。
SSL 握手是一個緩慢的 3 個數據包事件。這意味著初始連接將比非 SSL 連接花費更長的時間——通常是 3-4 倍。以下請求將使用來自第一個連接的 SSL 會話並且會更快,但前提是會話保持活動狀態。
ssl_session_cache
您可以通過設置和來控制 NGINX 中 SSL 會話的生命週期ssl_session_timeout
。編輯:剛剛注意到我已經解釋了它為什麼會發生,但不是你能做些什麼。遺憾的是,答案很少。初始握手需要多長時間取決於兩個因素:實際 SSL 加密所花費的時間(目前硬體可以忽略不計)和 3 個數據包交換所花費的時間,這僅取決於網路 - 除非您可以獲得“較低的 ping”到伺服器什麼都不會改變。