Această eroare nu are nimic de-a face cu nginx în sine (ei bine, aproape nimic). Este returnat de backend-ul dvs. din amonte. Motivul este că două anteturi de solicitare HTTP, inclusiv Gazdă
unul este întotdeauna redefinit, cu excepția cazului în care un alt comportament este specificat în mod explicit folosind proxy_set_header
directivă:
În mod implicit, sunt redefinite doar două câmpuri:
proxy_set_header Gazdă $proxy_host;
proxy_set_header Închidere conexiune;
The Gazdă
valoarea antetului cererii redirecționate va fi bbs_server_pools
cu prima ta configurație și bbs
cu al doilea. Cu toate acestea, caracterele valide pentru numele de gazdă sunt litere ASCII de la A
la z
, cifrele de la 0
la 9
, iar cratima (-
).Deși liniuța de subliniere este un caracter valid pentru numele în amonte nginx, nu este valabil pentru numele de gazdă și aceasta este cauza erorii pe care o primiți de la amonte. De obicei, este o idee bună să păstrați Gazdă
valoarea antetului din cererea inițială folosind
proxy_set_header Gazdă $gazdă;
(sau $http_host
, puteți verifica diferența Aici). Cu toate acestea, pot exista cazuri când nu ar trebui să o faci; Verifica acest raspuns pentru a afla mai multe informatii despre acest subiect.