Yanıtlar:
Aynı arka ucun yüzlerce örneğini belirttiyseniz, Nginx'in denemeleri bitirmek için ~ 2 saniye sürdüğünü buldum:
server localhost:8080 max_fails=0;
server localhost:8080 max_fails=0;
server localhost:8080 max_fails=0;
server localhost:8080 max_fails=0;
(.... er, gerektiği kadar tekrarlayın!)
Evet, korkunç bir çamur - ama bir dereceye kadar azim katıyor ...
Daha da kötüsü şunları kullanabilirsiniz:
server localhost:8080 max_fails=0;
server localhost:80 backup;
Nginx'in 80 numaralı bağlantı noktasında çalıştığını varsayarsak, bu istek localhost: 8080 yanıt verene kadar Nginx çevresinde sürekli döngü oluşturmaya çalışır. Sıfır saniye gecikmesi ile sonsuz sayıda (?) Tekrar deneyin.
Şimdi yastıklı hücreme geri döneceğim ....
Nginx kurulumunuzda Lua desteği varsa, uyku yöntemiyle bir süre istemcide bekleyebilirsiniz. İşlem engellemiyor ve işçiyi kilitlemiyor. Ağla ilgili diğer bazı soket / güvenlik duvarı zaman aşımları nihayet gerçekleşebileceğinden, kullanıcının sonsuza kadar tutulamayacağını unutmayın.
server {
listen 8502;
location / {
#25 seconds sleep
content_by_lua_block {
ngx.sleep(25);
ngx.exit(ngx.HTTP_BAD_GATEWAY);
}
}
}
Sonra akış yukarı listenizde bir istemciyi tutmak için yukarıdaki sunucuyu yedek olarak eklemeniz gerekir.
upstream backend {
server 127.0.0.1:3001 fail_timeout=2s; #The backend
server 127.0.0.1:8502 backup; #Lua holding server in the event backend is restarting
}
Bu, proxy konum belirtiminize dahil edilmelidir:
proxy_read_timeout 30; #Value must be higher than sleep in Lua
proxy_next_upstream error timeout http_502 http_504;
lua
sudo apt-get install libnginx-mod-http-lua