Https
我可以在我的 docker 私有系統資料庫上重用來自letsencrypt 的HTTPS 證書嗎?
我有一個暴露在網際網路上的 HAProxy 伺服器。我使用了諸如registry.mydomain.com 之類的子域來創建letsencrypt 證書,從而啟用加密連接。
現在,我想使用 HAProxy 將來自該 URL 的流量轉發到其他電腦上的某個 docker swarm。在那個群體中,我正在執行一個 Docker Registry,它反過來要求這樣一個加密證書。
我嘗試重用從 HAProxy 獲得的相同內容。不幸的是,當流量通過 HAProxy 進入 Docker Registry 容器時,我收到以下錯誤消息:
來自守護程序的錯誤響應:獲取https://$$ swarm-ip $$:5000/v1/users/:x509:無法驗證證書
$$ swarm-ip $$因為它不包含任何 IP SAN
作為一名嘗試做網路工作的程序員,我覺得這裡缺少一些東西,但我就是想不通。
使用您的letsencrypt證書,CN(registry.mydomain.com)將與您嘗試訪問的網址不匹配(
$$ swarm-ip $$). 為您提供兩種解決方案,您可以創建自己的CA來生成自己的證書,並在您的 haproxy 上信任它。
或者,您可以告訴 haproxy 不要驗證證書:
server myserver [swarm-ip]:5000 ssl verify none
有了這個,你的 haproxy 和你的後端之間的流量仍然會被加密,但它不會檢查證書是否有效。這意味著您仍然容易受到MITM的攻擊。
如果你決定告訴你的 haproxy 不要檢查你的證書,你可以使用任何你想要的證書,甚至是自簽名的。