nginx 上的第二个域名重定向到第一个

nginx 上的第二个域名重定向到第一个

我有一台服务器,在域名 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

事实证明,我当时正在修改配置文件,但忘记清除缓存,因此浏览器缓存了重定向。现在已修复。

相关内容