Como parar o Nginx redirecionando para o servidor padrão?

1

Estou configurando o Nginx com PHP 5.3 para vários sites que executam o wordpress, por exemplo. Acabei de adicionar um novo site e ele está sendo redirecionado para a página de boas-vindas padrão. Não consigo ver erros "reais" nos registros.

Aqui está o meu nginx.conf abreviado:

http {
    access_log /var/log/nginx_access.log;
    index index.php index.html;

    server {
        listen          80 default_server;
        server_name     _;
        root            /opt/nginx/html;

        location / {
        }
    }

    server {
        listen          80;
        server_name     example.com *.example.com;                      
        rewrite ^       $scheme://www.example.com$request_uri? permanent;
    }

    server {
        listen       80;
        server_name  www.example.com;
        root /home/example/example.com;

        location / {
        }

        location ~ \.php$ {
            try_files $uri =404;
            fastcgi_pass   unix:/var/run/php5-fpm/example.sock;
            fastcgi_index  index.php;
            include        fastcgi_params;
        }

}
    
por Mark Robinson 04.06.2012 / 13:41

1 resposta

4

Como apontado pelos comentários, a diretiva de escuta no bloco de servidores define como padrão (fonte: link ):

listen       80  default_server;

A seguinte declaração serve como um nome de servidor inválido (fonte: link ) (por isso nunca cruzar qualquer um dos seus domínios válidos):

Server_name _; 

Para corrigir o problema, verifique se você tem um bloco de servidor com listen (port) e server_name (host virtual) - este será acionado primeiro conforme você passa de 'mais preciso a menos preciso' ao fazer nomes de host virtuais correspondência no nginx:

Listen 80;
Server_name your-domain-name.com;  
    
por 04.06.2012 / 13:49

Tags