Persistência de sessão com Nginx como proxy reverso?

Persistência de sessão com Nginx como proxy reverso?

Estou usando o NGINX como proxy reverso com dois servidores Apache como servidores upstream.

Ambos os servidores Apache possuem aplicativos PHP personalizados instalados e compartilham o mesmo banco de dados MYSQL.

Acredito que o Apache armazena sessões em/var/lib/sessions.

Se eu estiver usando o NGINX, como superar o problema relacionado à sessão? Eu entendo o ip_hash; mas essa é a única maneira viável?

Gostaria de saber como as pessoas resolvem esse problema no servidor?

Responder1

Estritamente falando, isso não tem nada a ver com o nginx, é uma tarefa para fornecer aos usuários um sistema de autenticação/autorização consistente em vários back-ends. Em vez do nginx você pode usar qualquer mecanismo de balanceamento de carga.

Abordagem padrão:

  • use o memcached para armazenar sessões (embora isso não seja recomendado pelos autores do memcache, esse método é amplamente usado e até mesmo o PHP tem suporte padrão para ele - você precisa descomentar uma linha no php.ini)
  • use redis para o mesmo propósito
  • versões recentes do MySQL forneceminterface idêntica ao memcached para armazenar sessões no MySQL(desta vez eles serão apoiados em disco) - use o que quiser para isso, a única coisa - deve ser um armazenamento centralizado

informação relacionada