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.
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!
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.
Tags nginx