
因此,我計劃使用一個帶有 SSL 直通功能的 ELB 來連接到運行 haproxy 或 nginx 的伺服器。
我將託管潛在的數千個 Lets-Encrypt 憑證。
nginx 還是 haproxy 比較擅長處理數千個 ssl 憑證?或者說在這方面基本上沒有差別?
我想在 haproxy 或 nginx 上終止 SSL,並且有這麼多憑證檔案等。
答案1
答案2
兩者都很棒。我個人會使用 nginx,因為從這個角度來看(根據我的理解)你沒有運行多個後端,所以你不需要在這方面使用 haproxy。
只需使用 ssl 和代理通道設定 nginx :)
答案3
我認為使用 HAProxy 加載數千個憑證更容易。您需要做的就是將您的證書放在一個目錄中,HAProxy 將使用以下內容加載所有證書crt指令。
因此 ssl 卸載的最小配置是:
listen ssl_offload
mode http
bind IP:443 ssl crt <path-to-ssl-directory>
timeout client 30s
timeout server 30s
timeout connect 5s
server srv1 IP:80 check
HAProxy 將根據客戶端提供的 SNI 主機名稱(目前為支持的大多數現代瀏覽器)。
載入多個 SSL 憑證只是記憶體消耗的問題。 HAProxy 需要有一個 PEM 文件,其中包含所需的憑證和任何關聯的私鑰。因此,如果平均 PEM 檔案約為 5K(2048 rsa 金鑰),則載入數百萬個檔案將花費您大約 5GB 的記憶體。
現在,雖然 HAProxy 為每個偵聽器分配證書,但我認為 NGINX 為每個「伺服器名稱」分配證書,因此您將需要與您擁有的網域一樣多的伺服器區塊。如果您使用數千個它們,您可能需要編寫腳本。