默认情况下,如何在同一服务器上创建两个不同的域指向两个不同的端口

时间:2016-06-06 17:48:23

标签: php node.js nginx dns server

我使用Nginx在我的VPS上创建服务器块。所以现在我可以访问myname.com和myname.me。问题是我在我的服务器上使用php和node.js。所以我希望当我输入myname.com作为url时默认使用端口80,当我输入myname.me时,它会指向我的节点服务器使用的端口3000,而不是输入myname.me:3000。

如果我的描述不清楚,请告诉我。

谢谢!

1 个答案:

答案 0 :(得分:1)

您应该使用Nginx Reverse Proxy

对于您的用例,只需将您的服务器块更改为

即可
server {
        listen  80;
        server_name     myname.com;
        location / {
                proxy_set_header        Host $host;
                proxy_set_header        X-Real-IP $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header        X-Forwarded-Proto $scheme;

                proxy_pass      http://localhost:80;
                proxy_read_timeout      90;
                proxy_redirect  http://localhost:80;
        }
}

server {
        listen  80;
        server_name     myname.me;
        location / {
                proxy_set_header        Host $host;
                proxy_set_header        X-Real-IP $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header        X-Forwarded-Proto $scheme;

                proxy_pass      http://localhost:3000;
                proxy_read_timeout      90;
                proxy_redirect  http://localhost:3000;
        }
}