O proxy_set_header
directiva do HttpProxyModule permite que você faça isso. Por exemplo:
proxy_pass http://apachehost;
proxy_set_header X-Custom-Referrer $proxy_add_<header_field_name_from_last_request>;
Eu tenho um servidor web nginx atuando como um proxy reverso para encaminhar solicitações para o Apache para tratamento adicional (estou implorando para você não perguntar por quê). Tenho uma solicitação para a qual estou tentando anexar um cabeçalho personalizado e gostaria que o nginx enviasse esse cabeçalho personalizado para o Apache para que eu pudesse fazer algo com ele em um aplicativo.
Eu examinei os HttpProxyModule
docs, mas eles não são muito descritivos, mesmo se eu estiver no lugar certo (pode muito bem ser que eu não seja).
Como posso obter o nginx para encaminhar um cabeçalho X-CUSTOM-REFERRER
? Além disso, se possível, eu gostaria que ele enviasse qualquer cabeçalho personalizado que chegar. Se o último for demais para perguntar, o primeiro seria suficiente para minha necessidade atual.
Como você pode ver, sou muito novo no nginx, então a versão de correção seria útil.
Obrigado.
UPDATE
O snippet relevante da minha configuração existente:
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;
}
O proxy_set_header
directiva do HttpProxyModule permite que você faça isso. Por exemplo:
proxy_pass http://apachehost;
proxy_set_header X-Custom-Referrer $proxy_add_<header_field_name_from_last_request>;
O módulo ngx_headers_more permite que você altere e adicione cabeçalhos http.
Você pode usar cabeçalhos upstream (nomeados a partir de $ http_) e cabeçalhos personalizados adicionais. Por exemplo:
add_header X-Upstream-01 $http_x_upstream_01;
add_header X-Hdr-01 txt01;
em seguida, vá para o console e faça solicitações com o cabeçalho do usuário:
curl -H "X-Upstream-01: HEADER1" -I http://localhost:11443/
a resposta contém X-Hdr-01, configurada pelo servidor e X-Upstream-01, configurada pelo cliente:
HTTP/1.1 200 OK
Server: nginx/1.8.0
Date: Mon, 30 Nov 2015 23:54:30 GMT
Content-Type: text/html;charset=UTF-8
Connection: keep-alive
X-Hdr-01: txt01
X-Upstream-01: HEADER1
Tags nginx reverse-proxy