我可能錯過了一些非常基本的東西,但我已經嘗試了一段時間使用 DigitalOcean 負載平衡器為 ssl 配置 apache 伺服器(為 WordPress 網站提供服務)。
負載平衡器應該保存憑證並將連接埠 80 上的 http 存取權重定向到 https 443,問題是 apache 回應為 400 和此字串「\x16\x03\x01」。
根據我的調查(我可能是錯的,請隨意糾正我)這是因為 apache 正在嘗試進行 ssl 握手,為此,我需要啟用 SSLEngine 指令,但是當我這樣做時,我收到錯誤“無法為< my_domain> 設定至少一個憑證和金鑰:443”。
我想我明白這是因為我沒有添加 SSLCertificateFile 和 SSLCertificateKeyFile 指令,我期望它會從負載平衡器讀取證書,但顯然不是,而且我沒有看到任何允許我這樣做的指令阿帕奇文件。
網路上有很多關於將 apache 設定為反向代理的信息,但我找不到任何有關從代理/負載平衡器連接的資訊。
感謝您提供的任何幫助,我在此處添加一些螢幕截圖以幫助澄清情況。
答案1
我已經設法通過在apache 中添加自簽名證書來使其工作,不確定是否是最好或最優雅的方式,但這是我所知道的唯一一種允許我為客戶端保留平衡器證書的方式(我想要這樣自動更新它),而不必在伺服器中重新配置它。
據我了解,這不會帶來安全問題,因為 LB 和伺服器之間的通訊發生在 VPC 上,即使使用自簽名證書,它仍然使用 ssl 加密。
如果有人有關於改進這一點的建議,歡迎他們,我只是發布此內容以防將來對某人有所幫助。