Nginx, site errado servido

1

Eu tenho meu site no IP 1.2.3.4

No meu provedor de domínio, tenho os sites onesite.com e anothersite.com apontando para 1.2.3.4

Com o Nginx, tenho dois sites configurados:

server {
    listen 1.2.3.4:80;
    server_name www.oneserver.com;
    rewrite ^(.*) http://onserver.com$1 permanent;
}

server {
    listen 1.2.3.4:80;
    server_name onserver.com;

    location / {
        fastcgi_pass 127.0.0.1:8878;

    [..]

E:

server {
    listen 1.2.3.4:80;
    server_name myapp.anotherserver.com;

    location / {
        fastcgi_pass unix:/tmp/myapp.sock;

    [..]

Quando eu acesso myapp.anotherserver.com, sou redirecionado para o oneserver.com

Alguma ajuda?

    
por pistacchio 22.05.2015 / 12:10

2 respostas

0

Como user186340 apontou, o snippet de configuração parece ser bom e acessar myapp.anotherserver.com na porta 80 deve ser exibido no terceiro bloco fornecido. Se não funcionar como você descreve, pode ser porque não está carregado.

  1. Verifique se toda a configuração que você mostrou aqui foi encontrada / carregada pelo nginx
  2. Use nginx -t para validar sua configuração
  3. Monitore seu registro de erros quando enviar um HUP signal para o processo mestre nginx para identificar qualquer mensagem de erro aparecendo
  4. Se você estiver usando o nginx v1.9.2 +, talvez queira usar nginx -T para despejar o configuração carregada na saída padrão

Se tudo o que estava certo estava correto, você provavelmente modificou a configuração mostrada em comparação àquela que você usa efetivamente.

    
por 12.05.2016 / 19:55
0

O problema é que o Nginx escolhe o servidor padrão e o serve para qualquer pedido sem um servidor explicitamente definido. Minha solução é definir um servidor padrão que não faz nada.

# This just prevents Nginx picking a random default server if it doesn't know which
# server block to send a request to
server {
    # You can add 443/ssl if you need to
    listen      80 default_server; 
    server_name _;

    access_log off; log_not_found off;

    # "I'm a teapot", effectively "go away" https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#4xx_Client_Error
    # Code 403 (forbidden), 410 (gone) or 501 (not implemented) is probably a better choice https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#4xx_Client_Error
    return 418; 
}
    
por 12.05.2016 / 22:37