我有2个Nginx配置文件(出于隐私目的更改了域)。
server {
listen 80;
listen 443 ssl http2;
server_name beta.mydomain.io;
ssl_certificate /etc/letsencrypt/live/mydomain.io/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mydomain.io/privkey.pem;
if ($scheme = http) {
return 301 https://$host$request_uri;
}
location / {
proxy_pass http://localhost:3001;
proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr;
}
}
server {
listen 80;
listen 443 ssl http2;
server_name mydomain.io, www.mydomain.io;
ssl_certificate /etc/letsencrypt/live/mydomain.io/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mydomain.io/privkey.pem;
if ($scheme = http) {
return 301 https://$host$request_uri;
}
location / {
proxy_pass http://127.0.0.1:3002;
proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr;
}
}
出于某种原因,导航到mydomain.io会将您带到beta版本,只有www.mydomain.io会将您带到端口3002上的beta版本。我似乎找不到其他人遇到此问题。
答案 0 :(得分:0)
我正要发布此问题,然后意识到我的错误。我在域之间加入了逗号,这对于server_name指令而言语法不正确。我希望它可以帮助其他人。我将其删除并重新启动了Nginx服务器。现在工作正常。