nginx não está servindo site na conexão de dados de celular

2

Eu tenho um servidor web executando nginx. Se eu acessar o site através de uma conexão wifi, ele carrega o site. Se eu acessá-lo usando o LTE no meu telefone, ele mostra apenas o padrão "Welcome to nginx!" página

Aqui está o meu arquivo de configuração do site:

server {
    listen 80;
    listen 443 ssl;
    server_name {mysite.com};

    root   /path/to/public;
    index  index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
        include   /etc/nginx/conf.d/php-fpm;
    }

    ssl_certificate /etc/letsencrypt/live/{mysite.com}/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/{mysite.com}/privkey.pem;
}
    
por andrewtweber 01.12.2016 / 00:45

1 resposta

2

Esse "Welcome" me faz suspeitar que o nginx não está lendo o cabeçalho Host na solicitação e a resposta é a definição do host virtual padrão (que é a mensagem de boas-vindas).

Remova seu vhost padrão, no debian deve estar:

rm /etc/nginx/sites-enabled/default

Em seguida, adicione default_server à sua definição de vhost do site:

listen 80 default_server;
listen 443 ssl default_server;

Recarregue: nginx -s reload

Teste com ondulação:

curl -H "Host: mysite.com" mysite.com
curl mysite.com

O primeiro pedido está enviando o cabeçalho do host, o segundo não. Ambos devem retornar o mesmo becase mysite.com é o padrão agora para as portas 80 e 443 (um default_server para porta).

Isso é como um método de força bruta, uma maneira mais inteligente seria depurar as solicitações, se tudo estiver configurado corretamente, isso não deve acontecer.

    
por 01.12.2016 / 02:16