Mam serwer sieci Web Nginx działający jako odwrotny serwer proxy do przekazywania żądań do Apache w celu dodatkowej obsługi (błagam, abyś nie pytał dlaczego). Mam prośbę, do której próbuję dołączyć niestandardowy nagłówek i chciałbym, aby nginx przesłał ten niestandardowy nagłówek do Apache, aby mógł coś z tym zrobić w aplikacji.
Przejrzałem HttpProxyModule
dokumenty, ale nie są zbyt opisowe, nawet jeśli jestem we właściwym miejscu (bardzo dobrze, że nie jestem).
Jak mogę zmusić nginx do przekazania X-CUSTOM-REFERRER
nagłówka? Co więcej, jeśli to możliwe, chciałbym, aby przesuwał się dalej po dowolnym niestandardowym nagłówku, który się pojawi. Jeśli ten ostatni jest zbyt duży, by zapytać, ten pierwszy byłby wystarczający dla mojej obecnej potrzeby.
Jak widać, jestem nowy w nginx, więc wersja naprawcza byłaby pomocna.
Dzięki.
AKTUALIZACJA
Odpowiedni fragment kodu z mojej istniejącej konfiguracji:
location / {
proxy_pass http://preview;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Custom-Referrer $x_custom_referrer;
}
źródło
X-Custom-Referrer
nagłówka i przekazać ją dalej?proxy_set_header X-Custom-Referrer $x_custom_referrer
czy coś w tym rodzaju?$http_x_custom_referrer
. Jednak wszystkie nagłówki wysłane przez klienta powinny być automatycznie przekazywane do wewnętrznej bazy danych. Ustawiłeśproxy_pass_request_headers off
gdzieś?proxy_set_header
komentarz jest zakomentowany; również używasz$x_custom_referrer
zamiast$http_x_custom_referrer
...$http_<custom_header_field>
zamiast$proxy_add_<custom_header_field>
Moduł ngx_headers_more pozwala zmieniać i dodawać nagłówki http.
źródło
proxy_pass
.Możesz użyć nagłówków nadrzędnych (nazwanych od $ http_) i dodatkowych niestandardowych nagłówków. Na przykład:
następnie przejdź do konsoli i poproś o nagłówek użytkownika:
odpowiedź zawiera X-Hdr-01, ustawiony przez serwer i X-Upstream-01, ustawiony przez klienta:
źródło
proxy_pass
dyrektywy.