Verifique se você tem as seguintes configurações na configuração do nginx em C no servidor {} block:
proxy_pass_header Set-Cookie;
proxy_pass_header P3P;
isso seria suficiente para passar cookies.
Para um projeto meu, preciso conectar uma longa cadeia de máquinas que são essencialmente proxy das requisições HTTP uma para a outra. É assim:
Cliente da Web - A - B / C - D
Quando uma solicitação é feita a partir do navegador, ela primeiro passa por uma camada fina de proxy PHP, localizada na máquina local do usuário, cujo objetivo é resolver complicações com solicitações entre domínios e assim por diante. Ele faz proxy para a máquina B - apenas uma instância nginx, que reescreve a URL e os proxies para C. C faz algumas modificações necessárias, antes de fazer proxy para D, obtendo a resposta e retornando-a de volta ao web client. D é uma API de serviço remoto que não pode ser tocada.
Eu tenho problemas para configurar um cookie de sessão na máquina C, que fica com o pedido original. Embora a configuração do cookie seja possível, quando uma nova solicitação está lá, ela não fica visível no inspetor de rede do Google Chrome e o nó C retorna uma exceção nullintercept quando eu tento obter um valor do cookie aparentemente inexistente.
Suponho que tudo se resume a ajustar a maneira como o nginx faz proxy das solicitações.
Verifique se você tem as seguintes configurações na configuração do nginx em C no servidor {} block:
proxy_pass_header Set-Cookie;
proxy_pass_header P3P;
isso seria suficiente para passar cookies.
Tags proxy nginx reverse-proxy cookies