Nõue: Kui kasutati nginx pöördproksi veebilehele pääsemiseks, teatati aeg-ajalt 502 vigadest, alati seetõttu, et taustasüsteem oli maas või võrgu kõikumised. Lõpuks ilmnes nginx vealogide kontrollimine ka muid põhjuseid.
Tegelikult on nginx 502 vigade põhjuseid palju. Kui 502 Bad Gateway serveril on viga ja see toimib proxy või gateway'na, ei pruugi server saada õiget ülesvoolu vastust, kui püüab päringut töödelda.
nginx vealogi:
*753983 upstream saatis liiga suure päise, lugedes vastuse päist ülesvoolust, klient: xxx, server: test-sso.rms-cloud.com, päring: "GET /itsvse HTTP/2.0", upstream: "http://127.0.0.1:29090/itsvse", host: "xxx.com"
Lahus:
nginx lisab järgmise konfiguratsiooni:
Konfiguratsiooni kirjeldus:
proxy_buffer_size
Syntax: proxy_buffer_size size;
Default: proxy_buffer_size 4k|8k;
Context: http, server, location
Määrake puhvri suurus, et lugeda proksiserverilt saadud vastuse esimest osa. See osa sisaldab tavaliselt väikest vastuse päist; Kui puhvri suurus ületatakse, loetakse vastus kehtetuks. Vaikimisi võrdub puhvri suurus ühe mälulehe. See on 4K või 8K, sõltuvalt platvormist. Kuid seda saab väiksemaks teha.
proxy_buffers
Syntax: proxy_buffers number size;
Default: proxy_buffers 8 4k|8k;
Context: http, server, location
Määra puhvrite arv ja suurus ühe ühenduse jaoks, et lugeda vastuseid proksiserverist. Vaikimisi võrdub puhvri suurus ühe mälulehe. See on 4K või 8K, sõltuvalt platvormist.
proxy_busy_buffers_size
Syntax: proxy_busy_buffers_size size;
Default: proxy_busy_buffers_size 8k|16k;
Context: http, server, location
Kui vastuspuhverdamine proksiserverist on lubatud, on piiratud nende puhvrite kogusuurus, mis võivad klientidele vastuste saatmisega hõivatud olla enne vastuse täielikku lugemist. Samal ajal saab ülejäänud puhvreid kasutada vastuste lugemiseks ja osa vastuse ajutisteks failideks vajadusel puhverdamiseks. Vaikimisi piirab suurust kahe puhvri suurus, mis on määratud proxy_buffer_size ja proxy_bBuffers käskudega. |