Nginx com http / https - Http parecia redirecionado para https o tempo todo

1

Eu tenho esse comportamento muito estranho com o meu servidor Ubuntu 10.04 / nginx 1.2.3. Basicamente eu mudei os certificados SSL esta manhã. E desde então tem se comportado estranhamente em todos os aplicativos. Godaddy está relatando que a configuração HTTPS / SSL está correta.

Quando tento uma página, ela ainda funciona corretamente quando estou usando HTTPS. Mas quando eu tento usar o erro de relatórios HTTP nginx:

400 Bad Request
The plain HTTP request was sent to HTTPS port

Depois de dar uma olhada no google por horas, eu tentei uma configuração diferente (embora originalmente minha configuração estivesse funcionando corretamente por muito tempo, eu apenas renovava certificados)

Eu encontrei meio solução adicionando isso à minha configuração:

error_page 497 $ request_uri;

O mais estranho é que quando eu uso esta configuração:

server {
    listen 80;
    server_name john.johnrocks.eu;

    access_log /home/john/envs/john_prod/nginx_access.log;
    error_log /home/john/envs/john_prod/nginx_error.log;

    location / {
        uwsgi_pass unix:///home/john/envs/john_prod/john.sock;
        include uwsgi_params;
    }

    location  /media  {
        alias   /home/john/envs/john_prod/johntab/www;
    }

    location  /adminmedia  {
        alias   /home/john/envs/john_prod/johntab/www/adminmedia;
    }
}

Eu ainda tenho o mesmo erro ao usar HTTP (enquanto nada é configurado para HTTPS aqui)

Estou ficando louco com isso!

** Atualizar

Mesmo com essa configuração:

server {
    listen       80;
    server_name  john.johnrocks.eu;

    access_log  /home/john/envs/john_prod/nginx.access.log;

    location / {
        root   /home/john/envs/john_prod/johntab/www;
        index  index.html index.htm;
    }
}

Eu recebo o erro 400 (a solicitação HTTP simples foi enviada para a porta HTTPS) em tudo que eu tento carregar ...

    
por dwarfy 19.09.2012 / 23:23

2 respostas

0

Então eu descobri qual era o problema. O problema vem de como o nginx carrega as configurações do vhosts. Se você olhar para o nginx.conf, você encontrará esta linha

include /etc/nginx/sites-enabled/*;

Isso carrega todos os "vhosts" no nginx.conf principal em uma ordem aleatória. Então o que aconteceu é que o erro estava em outro lugar, em outro vhost .. e estava fazendo todos os vhosts falharem basicamente (nenhum erro foi detectado pelo nginx, não foi um erro em si, mas uma configuração ruim).

Então eu removi todos os vhosts habilitados para sites, e os coloquei de volta um por um, recarregando o nginx e testando o site toda vez até que eu conseguisse acertar tudo e depois voilà

    
por 21.09.2012 / 12:28
1

Eu não sei sobre o erro 400, mas se você tivesse um redirecionamento 301 (permanente) na sua configuração anterior, o navegador ainda poderia ter armazenado esse redirecionamento no cache e não verificar o original. Talvez limpar suas caches possa ajudar.

    
por 20.09.2012 / 00:22