【发布时间】:2016-02-17 22:08:50
【问题描述】:
我有 2 个使用 Nginx 重定向到不同端口的 Meteor 应用程序。对于每个应用程序,我都有相同的配置文件,但端口和域不同。第一个从 www 重定向到非 www 没有任何问题,但第二个显示消息:
这个网页有一个重定向循环
在 my-domain1.conf 中:
server {
server_name www.saveting.com;
return 301 $scheme://saveting.com$request_uri;
}
server {
listen 80;
server_name saveting.com www.saveting.com;
access_log /var/log/nginx/app.dev.access.log;
error_log /var/log/nginx/app.dev.error.log;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header X-Forwarded-For $remote_addr;
}
}
在 my-domain2.conf 中:
server {
server_name www.downloadinstagramvideo.com;
return 301 $scheme://downloadinstagramvideo.com$request_uri;
}
server {
listen 80;
server_name downloadinstragramvideo.com www.downloadinstagramvideo.com;
access_log /var/log/nginx/app.dev.access.log;
error_log /var/log/nginx/app.dev.error.log;
location / {
proxy_pass http://localhost:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header X-Forwarded-For $remote_addr;
}
}
我尝试使用以下代码为所有使用this tutorial 的域进行重定向:
server {
server_name "~^(?!www\.).*" ;
return 301 $scheme://www.$host$request_uri;
}
但这对任何人都不起作用。什么会导致第二个中的重定向循环?
【问题讨论】: