Django 服务器上的NGINX Docker与Ubuntu服务器上预先存在的NGINX

Django 服务器上的NGINX Docker与Ubuntu服务器上预先存在的NGINX,django,docker,ubuntu,nginx,docker-compose,Django,Docker,Ubuntu,Nginx,Docker Compose,我目前遇到了一个问题,我的一个项目将在我的Ubuntu服务器上的Docker中运行,并带有一个NGINX Docker容器来管理Django项目的反向代理。我遇到的问题是,我以前的Django项目已经在特定的Ubuntu服务器上运行,因此端口80已经被实际服务器上运行的NGINX块使用 运行我的Docker NGINX和Ubuntu NGINX,并将我的Docker映像作为“附加”站点运行,是否有一个解决方法,因为Django站点托管的是客户端网站,所以如果不需要的话,我宁愿不干扰它们 我的项目

我目前遇到了一个问题,我的一个项目将在我的Ubuntu服务器上的Docker中运行,并带有一个NGINX Docker容器来管理Django项目的反向代理。我遇到的问题是,我以前的Django项目已经在特定的Ubuntu服务器上运行,因此端口80已经被实际服务器上运行的NGINX块使用

运行我的Docker NGINX和Ubuntu NGINX,并将我的Docker映像作为“附加”站点运行,是否有一个解决方法,因为Django站点托管的是客户端网站,所以如果不需要的话,我宁愿不干扰它们

我的项目需要HTTPS,因为它向运行在Android APK 28上的React本机应用程序提供数据,由于某种原因,该应用程序具有阻止应用程序中发生非HTTPS连接的安全规则。如果其他任何人遇到过这样的问题,我将非常感谢你就如何解决这个问题提出的建议

我曾尝试在Docker中使用端口81而不是端口80运行NGINX,这非常有效,但我认为没有办法与端口81建立安全连接,是吗


提前感谢。

您不能随意使用端点的默认HTTP端口-默认情况下,用户浏览器使用80和443。如果您更改这些,您的用户将不得不连接到
your.server.com:81
或类似的内容。对于公共服务器,没有人会这样做,但对于私有服务器,这可能是一个选项

我认为一个合理的解决方法是使用主机的NGINX将请求代理到Docker的NGINX中(如果保留它有意义的话)。您可以在主机的NGINX上处理HTTPS终止,并将普通HTTP传递到Docker的NGINX中


另一个合适的选择是使用另一台服务器,这样一切都可以正常工作,而不涉及恶意攻击。

运行带有URL的端口号应该可以,因为Docker上运行的Django应用程序是React本机应用程序的后端。因此,用户不应该浏览Django应用程序,只通过React本机应用程序接收数据。如果这样,您可以使用任何端口,它只是一个数字。@Blademaster680 just replace
listen 443 ssl类似于
listen2443ssl并根据需要调整应用程序中的链接。就这样。太好了,谢谢你的意见,在过去的两天里我一直在思考这个问题,哈哈。