Em uma máquina de desenvolvimento local, tenho um proxy reverso nginx da seguinte forma:
server {
listen 80;
server_name myvirtualhost1.local;
location / {
proxy_pass http://127.0.0.1:8080;
}
server {
listen 80;
server_name myvirtualhost2.local;
location / {
proxy_pass http://127.0.0.1:9090;
}
No entanto, se eu depurar meu aplicativo, a resposta poderá ser adiada por um período infinito de tempo, mas após 30 segundos eu recebo:
504 Gateway Time-out
como resposta.
Como posso desativar o tempo limite e fazer com que meu proxy reverso aguarde uma resposta para sempre? E eu gosto que a configuração seja global, para que eu não precise defini-la para cada proxy.
nginx
configuration
timeout
k0pernikus
fonte
fonte
Respostas:
Talvez não seja possível desativá-lo, mas uma solução possível é aumentar o tempo de execução. Em um site tutorial do nginx , foi escrito:
e recarregue a configuração do nginx:
Eu usei um valor bastante grande que é improvável que aconteça,
999999
ou seja, ou use unidades de tempo , para um dia via1d
.Cuidado ao definir o valor como para
0
causar um erro de tempo limite do gateway imediatamente.fonte
0
não funcionar! Observe que você pode especificar unidades de tempo com sufixos legíveis , para poder usar um valor como1d
.proxy_connect_timeout 600;
ao arquivo nginx.conf, mas o tempo limite ainda está em 60 segundos. Mais alguma coisa que eu deveria tentar?Se você estiver usando o AWS e o Load Balancer, edite o tempo limite de inatividade. Eu acho que o padrão é 60 segundos
fonte
Eu estive lutando com o erro de tempo limite do nginx 502 e não consegui resolver o problema. No entanto, passou a ser gunicorn causando o erro de tempo limite. Então, você também pode precisar verificar as configurações do fastcgi.
Para gunicorn é:
fonte