nginx: Servir ambos domain.com e www.domain.com

1

Atualmente, tenho um servidor nginx que pode ser acessado digitando domain.com tanto por HTTP quanto por HTTPS. No entanto, quando tento conectar digitando www.domain.com, em vez disso, parece que a conexão será interrompida e o Firefox informa "A conexão com o servidor foi redefinida enquanto a página estava sendo carregada ..."

Aqui está minha configuração atual do server_name:

server_name localhost www.example.com example.com;

A documentação do nginx parece sugerir que isso deve funcionar, o que estou fazendo errado?

    
por Concrete Donkey 02.03.2013 / 22:16

1 resposta

2

Isso

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

redirecionará example.com para www.example.com e isso

server {
    listen  80;
    server_name www.example.com;

    location / {
        root   /var/www/example.com;
        index  index.html index.htm;
        }
    }

servirá www.example.com.

Você pode fazer o mesmo para https, mas é improvável que alguém insista com muito cuidado https: // e o endereço não canônico, por isso

server {
    listen  443;
    server_name www.example.com;


    ssl  on;
    ssl_certificate  /etc/ssl/private/www.example.com.crt;
    ssl_certificate_key /etc/ssl/private/www.example.com.key;

    ssl_session_timeout  10m;
    ssl_session_cache shared:SSL:10m;

    ssl_protocols SSLv3 TLSv1;
    ssl_ciphers HIGH:!ADH:!MD5;
    ssl_prefer_server_ciphers   on;


    location / {
        root   /var/www/example.com;
        index  index.html index.htm;
        }
    }

deve ser suficiente.

    
por 02.03.2013 / 23:01