在发布我的问题之前,我想知道是否有可能实现我想要的功能。
假设我有myserver.com运行着一个带有nginx和letsencrypt的docker容器。在同一台服务器上还有2个运行网站的docker容器。
目前所有的重定向都很好,所以www.myserver.com指向docker 1,site2.myserver.com指向docker 2。
我想让所有通信都通过HTTPS进行,但这里开始出现了问题。因此,我的问题是:nginx和letsencrypt的docker容器是否可以使用letsencrypt的证书连接到另一个docker容器?对我来说,这似乎是某种中间人攻击。更详细的示意图如下:
浏览到http:// site2.myserver.com -> nginx重定向到https:// site2.myserver.com -> 连接到容器2(192.168.0.10)的80端口。 或者另一种选择: 浏览到http:// site2.myserver.com -> nginx重定向到https:// site2.myserver.com -> 连接到具有site2.myserver.com证书的容器2(192.168.0.10)的443端口。
如果无法完成,那么解决方案是什么?将证书复制到docker容器中并使它们运行https,以便将http请求重定向到该容器的https端口?
浏览到http:// site2.myserver.com -> nginx转发请求 -> 连接到具有site2.myserver.com证书的容器2(192.168.0.10)的443端口。
谢谢, Greggy
假设我有myserver.com运行着一个带有nginx和letsencrypt的docker容器。在同一台服务器上还有2个运行网站的docker容器。
目前所有的重定向都很好,所以www.myserver.com指向docker 1,site2.myserver.com指向docker 2。
我想让所有通信都通过HTTPS进行,但这里开始出现了问题。因此,我的问题是:nginx和letsencrypt的docker容器是否可以使用letsencrypt的证书连接到另一个docker容器?对我来说,这似乎是某种中间人攻击。更详细的示意图如下:
浏览到http:// site2.myserver.com -> nginx重定向到https:// site2.myserver.com -> 连接到容器2(192.168.0.10)的80端口。 或者另一种选择: 浏览到http:// site2.myserver.com -> nginx重定向到https:// site2.myserver.com -> 连接到具有site2.myserver.com证书的容器2(192.168.0.10)的443端口。
如果无法完成,那么解决方案是什么?将证书复制到docker容器中并使它们运行https,以便将http请求重定向到该容器的https端口?
浏览到http:// site2.myserver.com -> nginx转发请求 -> 连接到具有site2.myserver.com证书的容器2(192.168.0.10)的443端口。
谢谢, Greggy