Por que o redirecionamento Nginx www não funciona?

1

Eu tenho esta configuração:

server {
listen         80;
server_name    example.com www.example.com;
return 301 https://example.fr$request_uri;
}


server {
listen 443 ssl;

root /var/www/example_v2/;
index index.php index.html index.htm;

server_name example.com www.example.com;

return 301 https://example.fr$request_uri;

}

Quando vou para example.com , ele me redireciona corretamente para example.fr , mas quando vou para www.example.com , não o faço. Meu DNS para example.com e www.example.com vai para o mesmo IP.

O que poderia estar errado?

EDIT: curl

➜  ~ curl -L -I example.com
HTTP/1.1 301 Moved Permanently
Server: nginx/1.10.1
Date: Thu, 20 Oct 2016 11:50:38 GMT
Content-Type: text/html
Content-Length: 185
Connection: keep-alive
Location: https://example.fr/

HTTP/1.1 200 OK
Server: nginx/1.10.1
Date: Thu, 20 Oct 2016 11:50:38 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 40538
Connection: keep-alive
Vary: Accept-Encoding
Strict-Transport-Security: max-age=31536000

➜  ~ curl -L -I www.example.com
HTTP/1.1 200 OK
Server: nginx/1.10.1
Date: Thu, 20 Oct 2016 11:50:53 GMT
Content-Type: text/html
Content-Length: 176
Last-Modified: Thu, 15 Sep 2016 16:27:25 GMT
Connection: keep-alive
ETag: "57dacbed-b0"
Accept-Ranges: bytes
    
por Dimitri Danilov 20.10.2016 / 13:12

1 resposta

1

Com base na sua configuração publicada, o nginx está funcionando corretamente.

Os blocos a seguir devem ser uma maneira de conseguir o que você está tentando fazer:

server {
    listen 80;
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /path/to/ssl.crt;
    ssl_certificate_key /path/to/server.key;
    return 301 https://example.fr$request_uri;
}

server {
    listen 80;
    listen 443 ssl;
    server_name www.example.com;
    ssl_certificate /path/to/ssl.crt;
    ssl_certificate_key /path/to/server.key;
    return 301 https://www.example.fr$request_uri;
}

Minha experiência é que não incluir a configuração SSL apropriada em um bloco de servidores de encaminhamento resultará no link e link que causa avisos de segurança do navegador sem redirecionamento.

    
por 20.10.2016 / 16:24