NGINX 默认为指向节点服务器的第二个域名上的欢迎页面
NGINX defaulting to welcome page on Second domain name pointing to node server
我在 www.xxx.com 的 angular 节点服务器上有一个单页应用程序 运行。目前正在运行。
我正在尝试为名为 www.yyy.com 的第二个 Node 应用程序提供服务器,但是当我设置 NGINX 服务器块时,它默认为 NGINX 欢迎页面。
www.xxx.com NGINX 服务器块(工作正常):
server {
listen 80;
listen [::]:80;
server_name xxx.com.au www.xxx.com.au;
return 301 https://xxx.com.au$request_uri;
}
server {
listen 443;
server_name xxx.com.au www.xxx.com.au;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:3000/;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
proxy_set_header X-Forwarded-Proto $scheme;
}
ssl on;
ssl_certificate /etc/letsencrypt/live/xxx.com.au/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/xxx.com.au/privkey.pem;
}
www.yyy.com 服务器块:(目前只提供欢迎页面)
server {
listen 80;
server_name yyy.com www.yyy.com;
location /site {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:3002/;
proxy_redirect off;
}
}
我已经在我的 Droplet 上设置了所有 DNS 和主机名。如果有帮助,我正在使用 Vultr 运行 Ubuntu。
我已通过符号 link 将两者添加到 Sites-available 并且该行存在于 conf 文件中。
编辑:正如 Henry 所指出的,我是服务器 /site
location /site {
您在 /site
而不是 /
提供应用程序。
您可以将不同的不同配置块映射到不同的 URL,这样您就可以如果需要,将 /example
路由到不同的节点服务器。
将 location /site {
替换为 location / {
作为您的工作块将在根目录下为您的节点应用程序提供服务。根节点没有配置 nginx 将其路由到其默认页面。
我在 www.xxx.com 的 angular 节点服务器上有一个单页应用程序 运行。目前正在运行。
我正在尝试为名为 www.yyy.com 的第二个 Node 应用程序提供服务器,但是当我设置 NGINX 服务器块时,它默认为 NGINX 欢迎页面。
www.xxx.com NGINX 服务器块(工作正常):
server {
listen 80;
listen [::]:80;
server_name xxx.com.au www.xxx.com.au;
return 301 https://xxx.com.au$request_uri;
}
server {
listen 443;
server_name xxx.com.au www.xxx.com.au;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:3000/;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
proxy_set_header X-Forwarded-Proto $scheme;
}
ssl on;
ssl_certificate /etc/letsencrypt/live/xxx.com.au/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/xxx.com.au/privkey.pem;
}
www.yyy.com 服务器块:(目前只提供欢迎页面)
server {
listen 80;
server_name yyy.com www.yyy.com;
location /site {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:3002/;
proxy_redirect off;
}
}
我已经在我的 Droplet 上设置了所有 DNS 和主机名。如果有帮助,我正在使用 Vultr 运行 Ubuntu。
我已通过符号 link 将两者添加到 Sites-available 并且该行存在于 conf 文件中。
编辑:正如 Henry 所指出的,我是服务器 /site
location /site {
您在 /site
而不是 /
提供应用程序。
您可以将不同的不同配置块映射到不同的 URL,这样您就可以如果需要,将 /example
路由到不同的节点服务器。
将 location /site {
替换为 location / {
作为您的工作块将在根目录下为您的节点应用程序提供服务。根节点没有配置 nginx 将其路由到其默认页面。