|
|
Postat peAcum 28 de secunde
|
|
|

Cerință: Când se folosea nginx reverse proxy pentru a accesa site-ul, erau raportate ocazional erori 502, întotdeauna din cauza căderii backend-ului sau a fluctuațiilor rețelei. În cele din urmă, verificarea logurilor de erori nginx a dezvăluit alte motive.
De fapt, există multe cauze pentru erorile nginx 502. Când un server Bad Gateway 502 are o eroare și acționează ca proxy sau gateway, serverul tău poate să nu primească răspunsul corect în amonte când încearcă să proceseze cererea.
Jurnalul erorilor Nguinx:
*753983 upstream a trimis header prea mare în timp ce citea header response from upstream, client: xxx, server: test-sso.rms-cloud.com, request: "GET /itsvse HTTP/2.0", upstream: "http://127.0.0.1:29090/itsvse", host: "xxx.com"
Soluție:
Nginx adaugă următoarea configurație:
Descrierea configurației:
proxy_buffer_size
Syntax: proxy_buffer_size size;
Default: proxy_buffer_size 4k|8k;
Context: http, server, location
Se setează dimensiunea bufferului pentru a citi prima parte a răspunsului primit de la serverul proxy. Această parte conține de obicei un antet de răspuns mic; Dacă dimensiunea bufferului este depășită, răspunsul este considerat invalid. Implicit, dimensiunea bufferului este egală cu o pagină de memorie. Aceasta este 4K sau 8K, în funcție de platformă. Totuși, poate fi redusă.
proxy_buffers
Syntax: proxy_buffers number size;
Default: proxy_buffers 8 4k|8k;
Context: http, server, location
Setează numărul și dimensiunea bufferelor pentru o singură conexiune pentru a citi răspunsurile de la serverul proxy. Implicit, dimensiunea bufferului este egală cu o pagină de memorie. Aceasta este 4K sau 8K, în funcție de platformă.
proxy_busy_buffers_size
Syntax: proxy_busy_buffers_size size;
Default: proxy_busy_buffers_size 8k|16k;
Context: http, server, location
Când buffering-ul răspunsurilor de la serverul proxy este activat, dimensiunea totală a bufferelor care pot fi ocupate să trimită răspunsuri către clienți înainte ca răspunsul să fie complet citit este limitată. Între timp, bufferele rămase pot fi folosite pentru a citi răspunsurile și a buffer o parte din răspuns în fișiere temporare, după necesitate. Implicit, dimensiunea este limitată de dimensiunea celor două buffere setate de instrucțiunile proxy_buffer_size și proxy_bBuffers. |
Precedent:Introducere în comunicațiile de rețea eSIM, EID și eUICC
|