nginx多个域(每个域有www和非www)

nginx多个域(每个域有www和非www),nginx,Nginx,我正在尝试在nginx服务器上托管两个域,并将www重定向到非www。以下是我的站点配置: 站点1: server { root /var/www/afspraken/; index index.html index.htm; server_name site1.nl; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host;

我正在尝试在nginx服务器上托管两个域,并将www重定向到非www。以下是我的站点配置:

站点1:

server {
    root /var/www/afspraken/;
    index index.html index.htm;

    server_name site1.nl;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
server {
    server_name www.site1.nl;
    return 301 $scheme://site1.nl$request_uri;
}
server {
    root /var/www/mijn/;
    index index.html index.htm;
    server_name site2.nl;
}
server {
        server_name www.site2.nl;
        return 301 $scheme://site2.nl$request_uri;
}
站点2:

server {
    root /var/www/afspraken/;
    index index.html index.htm;

    server_name site1.nl;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
server {
    server_name www.site1.nl;
    return 301 $scheme://site1.nl$request_uri;
}
server {
    root /var/www/mijn/;
    index index.html index.htm;
    server_name site2.nl;
}
server {
        server_name www.site2.nl;
        return 301 $scheme://site2.nl$request_uri;
}

四台服务器中有三台工作正常:
www.site2.nl
site2.nl
site1.nl
www.site1.nl
服务器给了我site2。我做错了什么?

发现了问题。首先需要定义返回301的服务器(在实际处理重定向请求的服务器之前)。工作示例:

server {
        server_name www.mijnbedrijfook.nl;
        return 301 $scheme://mijnbedrijfook.nl$request_uri;
}
server {
    root /var/www/mijn/;
    index index.html index.htm;
    server_name mijnbedrijfook.nl;
}