多个节点js app在同一个vps中具有不同的域

时间:2017-04-17 10:46:13

标签: node.js http proxy server

我有一个Digitalocean VPS和3个Nodejs(ExpressJs)应用程序。现在我在相同的IP和不同的端口中启动了所有这些,如下所示: - 95.5.5.8:65001 - 95.5.5.8:65002 - 95.5.5.8:65003

但是现在我想当有人写app1.com时,第一个应用程序95.5.5.8:65000就像这样向他展示:

  • app1.com - >在端口65001
  • 中加载服务器
  • app2.com - >在端口65002中加载服务器
  • app3.com - >在端口65003中加载服务器

所有应用程序都使用相同的IP处于相同的VPS中,请问我该怎么办?

1 个答案:

答案 0 :(得分:0)

您可以按照以下步骤实施此功能:

  1. 在域名设置页面中,将app1.comapp2.comapp3.com映射到95.5.5.8
  2. 在Nginx中,为目录app1.com中的app2.comapp3.com/etc/nginx/conf.d/配置3个代理。以下是/etc/nginx/conf.d/app1.conf的代理文件app1.com

    server {
        listen       80;
        server_name  app1.com;
        access_log   /var/log/nginx/app1_access.log;
        charset utf-8;
    
        location / {
            proxy_pass      http://95.5.5.8:65001;
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded_For $proxy_add_x_forwarded_for;
        }
    }
    
  3. 重新启动Nginx。