我有一台服务器,在域名 example.eu 上运行一个网站。我已重定向到 https 并删除了 www,如下所示这个答案。我现在想将另一个网站添加到同一台服务器,域名为 test.eu。此服务器不需要删除 www 或 https,因此它是一个简单的服务器块。
问题是,每当我通过浏览器访问 test.eu 时,都会出现 301 重定向到 example.eu。
example.eu 配置:
upstream django {
server unix:///home/foo/bar/example.sock; # for a file socket
}
server {
listen 80;
server_name example.eu www.example.eu;
return 301 https://example.eu$request_uri;
}
server {
listen 443 ssl;
server_name www.example.eu;
ssl_certificate /etc/nginx/ssl/example.cer;
ssl_certificate_key /etc/nginx/ssl/example.key;
return 301 https://example.eu$request_uri;
}
server {
listen 443 ssl;
server_name example.eu;
ssl_certificate /etc/nginx/ssl/example.cer;
ssl_certificate_key /etc/nginx/ssl/example.key;
root /usr/share/nginx/html;
index index.php;
location /static { # STATIC_URL
alias /home/foo/bar/static; # STATIC_ROOT
expires max;
add_header Pragma public;
add_header Cache-Control "public";
}
location /media { # MEDIA_URL
root /home/foo/bar/media; # MEDIA_ROOT
}
location / {
include /etc/nginx/uwsgi_params;
uwsgi_read_timeout 300;
uwsgi_pass django;
}
}
以及更简单的 test.eu conf:
server {
listen 80;
server_name test.eu www.test.eu;
root /home/foo/qux;
index index.html;
}
我也尝试过将 test.eu conf 作为 example.eu conf 的一部分,放在顶部,但无济于事。发生了什么事?我该如何解决这个问题?非常感谢。
答案1
事实证明,我当时正在修改配置文件,但忘记清除缓存,因此浏览器缓存了重定向。现在已修复。