2014-04-22 12 views
7

Jestem początkujący w nginx. Mam prosty serwer WWW na 8080, który chcę przekazać cały ruch w tym raczej małym środowisku. Moje proxy wydaje się działać, z wyjątkiem tego, że niestandardowy nagłówek nie występuje, gdy dostanie się do mojego serwera nadrzędnego. Blok serwera znajduje się poniżej. Co powinienem dodać, aby zachować swój niestandardowy nagłówek? W tym przypadku niestandardowy nagłówek został ustawiony w angularjs, ale nie sądzę, że ma to coś wspólnego z tym, jak działa dobrze, przechodząc bezpośrednio do 8080 na serwerze. ($ HttpProvider.defaults.headers.common [ 'GH_client'] = client_id();)proste proxy odwrotne nginx wydaje się usuwać niektóre nagłówki

server { 
server_name localhost; 

location/{ 
     proxy_pass  http://localhost:8080; 
     proxy_redirect off; 
    proxy_pass_header X-CSRF-TOKEN; 
     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-NginX-Proxy true; 
}} 

Dzięki za wszelką pomoc.

Odpowiedz

10

Twój nagłówek zawiera podkreślenie (_). Domyślnie nagłówki zagrożeń nginx z podkreślnikiem są nieprawidłowe i upuszczają je.

Powinieneś włączyć dyrektywę underscores_in_headers.

W przeciwnym razie należy rozważyć zmianę nazwy nagłówka na bez podkreśleń. GH-client będzie całkowicie poprawny i zostanie przesłany do serwera zaplecza.

+0

Jeśli używasz nginx w środowisku AWS, być może zainteresuje Cię [ten wątek] (https://forums.aws.amazon.com/thread.jspa?messageID=674114) – BitsEvolved

+0

Dzięki. Domyślny nagłówek CSRF MVC .net domyślnie przyjmuje podkreślniki. Wpadliśmy dziś na to. – BradLaney

Powiązane problemy