A passagem de proxy Nginx funciona para https, mas não para http

3

Eu quero redirecionar o tráfego HTTP e o tráfego HTTPS para um aplicativo Flask de back-end e tenho o snippet abaixo no meu nginx.conf, que funciona para https, mas não para http

server {
listen 80;
listen 443 ssl;
ssl_certificate /usr/local/nginx/server.crt;
ssl_certificate_key /usr/local/nginx/server.key;

location / {
        proxy_redirect off;
        proxy_cache off;
        proxy_pass         http://127.0.0.1:5000;
        proxy_set_header   Host             $http_host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
}
}

Alguém tem alguma indicação? Existe algo óbvio no fragmento do arquivo de configuração ou eu instalei o Nginx errado?

Obrigado!

    
por Spaceghost 10.10.2012 / 00:17

2 respostas

0

Eu instalei o nginx na minha máquina Redhat16 do yum. Depois que eu removi o conteúdo do diretório etc / nginx / conf.d, tudo funcionou como esperado. Parece que algo nesse diretório estava anulando o proxy_pass http.

    
por 15.10.2012 / 16:12
1

Acredito que você precisa de um bloco server separado para HTTP. Por exemplo:

server {
listen 80;

location / {
        proxy_redirect off;
        proxy_cache off;
        proxy_pass         http://127.0.0.1:5000;
        proxy_set_header   Host             $http_host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
}
}

Você removerá listen 80; do bloco server existente.

    
por 10.10.2012 / 00:21

Tags