为两个节点应用程序配置nginx,其中一个在子域上

Jos*_*h G 5 nginx node.js express digital-ocean

问题

我想成立Nginx的,所以我可以有我的域名,domain.com由节点Web应用程序的端口3000上运行,并且子域dev.domain.com由第二个节点的网络应用程序在端口3001上运行当我运行此配置domain.com连接到正确的端口,但dev.domain.com只是给出一个页面,说明无法访问服务器.

编辑: 如果我去,IP_ADDRESS:3000我得到相同的内容domain.com,但如果我去,IP_ADDRESS:3001我得到应该是什么dev.domain.com.基于此,似乎应用程序在正确的端口上正常运行,我只是没有正确路由子域.

/etc/nginx/sites-available/default直接编辑所以它有:

server {
    listen 80 default_server;
    server_name domain domain.com www.domain.com;
    location / {
        proxy_pass http://127.0.0.1:3000;
    }
}
server {
    listen 80;
    server_name dev.domain dev.domain.com www.dev.domain.com;
    location / {
        proxy_pass http://127.0.0.1:3001;
    }
}
Run Code Online (Sandbox Code Playgroud)

除了该文件,其他一切都是全新安装

我的逻辑

我对nginx很新,但似乎任何请求domain.com都会被发送到端口3000,请求dev.domain.com将转到3001.

对我迄今所做的任何帮助或批评都将不胜感激!

Jos*_*h G 10

以上设置工作正常。我的问题是 DNS 记录 - 我添加了一个 A 记录,指向dev.domain.com我正在运行节点应用程序的服务器的 IP 地址。