
apenas uma pergunta rápida. Eu tenho um webapp php que define um cookie de sessão com valores para nome de usuário, isAdmin, etc. Existe alguma maneira de extrair essas informações no arquivo de configuração do nginx?
log_format custom ' "TEST: $cookie_PHPSESSID"';
Isso me dará o ID da sessão do cookie, mas preciso do seu conteúdo e não consigo encontrar nenhuma maneira de recuperá-lo.
Usar um cookie permanente funcionaria, mas é uma má ideia porque os usuários poderiam alterar facilmente os valores do cookie.
Agradecemos antecipadamente, Fili
Responder1
Não é possível recuperar valores de sessão diretamente no arquivo de configuração Nginx. O arquivo de configuração Nginx é uma configuração estática analisada na inicialização e usada para lidar com solicitações recebidas. Ele não tem acesso a nenhuma informação dinâmica de tempo de execução, como dados de sessão, que são manipulados pelo aplicativo PHP.
No entanto, existem algumas soluções alternativas que você pode usar para obter acesso aos dados da sessão no Nginx. Uma abordagem é usar uma configuração de proxy reverso com Nginx. Nesta configuração, o Nginx atua como um servidor frontend que encaminha solicitações para um servidor de aplicativos backend, como Apache ou PHP-FPM, que trata do conteúdo dinâmico.
location / {
proxy_pass http://backend;
proxy_set_header Cookie $http_cookie;
}
Outra abordagem é armazenar os dados da sessão em um armazenamento compartilhado que pode ser acessado tanto pelo Nginx quanto pelo aplicativo PHP. Por exemplo, você pode armazenar os dados da sessão em um banco de dados ou armazenamento de chave-valor e usar o Nginx para recuperar os dados do armazenamento com base no ID da sessão no cookie.