Eu uso o Nginx como um proxy reverso para o servidor node.js e tenho as seguintes rotas, que começam com:
- /api/...
- /auth/...
Se eu abrir meu site no modo de navegação anônima e tentar enviar um formulário para persiste-lo para o uso da rota '/api/user'
, recebo 403 Forbidden. Estou confuso que na minha máquina local com servidor rodando com vagrant e nginx eu nunca tive um problema como este. Na produção, também consegui enviar o formulário algumas vezes na rota mencionada acima, mas nunca no modo de navegação anônima.
Eu proxy apenas certas rotas para nodejs assim:
location ~ ^/(api|user|auth|socket.io-client|sitemap.xml) {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Upgrade $http_upgrade;
proxy_ssl_session_reuse off;
proxy_redirect off;
proxy_set_header Connection 'upgrade';
proxy_cache_bypass $http_upgrade;
proxy_http_version 1.1;
proxy_pass_header X-CSRFToken;
add_header X-Frame-Options SAMEORIGIN;
sendfile off;
proxy_pass http://nodejs_upstream;
}
Eu verifiquei que a rota '/api/user'
está sendo capturada corretamente pelo bloco acima, então talvez esteja relacionada às permissões do servidor nodejs, mas estou preso nesse ponto. Obrigado por qualquer ajuda.
Tags nginx reverse-proxy node.js