使用web服务和Docker通过HTTPs服务多个站点

使用web服务和Docker通过HTTPs服务多个站点,docker,nginx,https,Docker,Nginx,Https,首先,这是一个学习和分享新信息的好地方 现在我有一个问题,在同一台服务器上托管两个网站,但在描述我的问题之前,我将使用一些术语,以使事情变得更简单 网站设置 服务器操作系统-CentOS 7 x64,Docker版本-18.03.0-ce,版本0520e24 第一个网站:example.com-通过Nginx托管(在主机上作为服务运行,而不是通过Docker容器运行),位于端口80(重定向至443):带有HTML/CSS代码的静态网站 第二个网站:通过Docker Image在8080端口提供

首先,这是一个学习和分享新信息的好地方

现在我有一个问题,在同一台服务器上托管两个网站,但在描述我的问题之前,我将使用一些术语,以使事情变得更简单

网站设置
  • 服务器操作系统-CentOS 7 x64,Docker版本-18.03.0-ce,版本0520e24
  • 第一个网站:example.com-通过Nginx托管(在主机上作为服务运行,而不是通过Docker容器运行),位于端口80(重定向至443):带有HTML/CSS代码的静态网站
  • 第二个网站:通过Docker Image在8080端口提供服务
  • SSL-对上述两个域使用LetsEncrypt
要求
  • 通过HTTPs为两个站点(可能更多)提供服务,而不破坏其中任何一个站点
  • 这是因为当我使用art.example.com:8080浏览第二个网站时,它可以正常工作,但是如果我浏览第一个网站,那么对第二个网站的后续请求会以某种方式开始使用HTTPs,导致页面无法加载
问题
  • 两个站点(以及更多站点)是否可以通过Nginx VHosts(或任何其他替代方案)通过端口80 | 443提供服务,而无需使用其他端口,即:第二个站点的8080?这意味着在上面提到的URL中没有任何端口,只有域名

  • 或者,当主web服务侦听端口80 | 443时,是否有方法将流量转发到不同端口上的Docker服务?我需要做哪些配置更改

我已经尽可能多地在这个论坛上搜索了,但是没有找到多少

如果需要我提供更多信息,请告诉我


提前谢谢

解决方案:根据该Docker维护人员的建议,以及我们的快速建议,我们可以将第一个网站重新制作为与第二个网站类似的Docker容器,然后将其作为反向代理进行负载平衡,以管理SSL

将此标记为已解决,直到找到更好的解决方案,干杯