单个服务器上的多个子域。码头工人 + NGINX @ EC2
Posted
技术标签:
【中文标题】单个服务器上的多个子域。码头工人 + NGINX @ EC2【英文标题】:Multiple Sub-Domains on a single server. Docker + NGINX @ EC2 【发布时间】:2019-06-01 09:40:46 【问题描述】:我有多个使用 Docker 部署并托管在 EC2 中的基于 NGNIX-uWSGI 的 Django 应用程序(目前在不同的端口,如 81、82,...)。现在我希望在其中添加子域,这样 sub1.domain.com 和 sub2.domain.com 都可以在同一个 EC2 实例中工作。
我可以使用多个端口,但它们不能通过 DNS 设置工作。 sub1.domain.com -> 1.2.3.4:81 sub2.domain.com -> 1.2.3.4:82
我不能做什么
多个 IP ref:无法为每个部署的子域分配新 ip。
nginx 代理 ref:这看起来是理想的解决方案,但它不是由 Docker 或 NGINX 等组织维护的,所以我不确定安全性和可靠性。
我在考虑什么:
-
我正在考虑编写我自己的 NGINX 反向代理,类似于 Apache Multiple Sub Domains With One IP Address 但由于技术堆栈已经有一个 NGINX-uWSGI 代理,因此流程将通过多个代理进行
【问题讨论】:
【参考方案1】:你可以使用 nginx 上游
upstream backend
server backend1.example.com weight=5;
server backend2.example.com:8080;
server unix:/tmp/backend3;
server backup1.example.com:8080 backup;
server backup2.example.com:8080 backup;
server
server_name sub.test.com www.sub.test.com;
location /
proxy_pass http://backend;
【讨论】:
以上是关于单个服务器上的多个子域。码头工人 + NGINX @ EC2的主要内容,如果未能解决你的问题,请参考以下文章