单个服务器上有多个子域。 Docker + NGINX @ EC2

时间:2019-01-06 14:05:18

标签: docker

我有多个基于NGNIX-uWSGI的Django应用程序,它们使用Docker部署并托管在EC2中(当前位于不同的端口,如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

我不能做什么

  1. 多个IP ref:无法为每个部署的子域分配新的IP。

  2. NGINX代理ref:这看起来像是理想的解决方案,但是它不是像Docker或NGINX这样的组织维护的,因此我不确定其安全性和可靠性。

    < / li>

我在考虑什么

  1. 我正在考虑编写自己的NGINX反向代理,类似于Apache Multiple Sub Domains With One IP Address,但是流程将通过多个代理进行,因为已经通过Tech Stack提供了NGINX-uWSGI代理

1 个答案:

答案 0 :(得分:0)

您可以在上游使用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;
    }
}