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