我使用Nginx作为node.js服务器的反向代理,我有以下路由,它们以:
- /api/... - /auth/...
如果我以隐身模式打开我的网站,并尝试提交一个表单,坚持使用路由'/api/user'我得到403禁止。 我很困惑,在我的本地机器与服务器运行vagrant和nginx我从来没有这样的问题。 在制作中,我也设法成功地在上述路线上提交了几次表单,但是从来没有进入隐身模式。
我只代理某些路由到nodejs像这样:
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; }
我检查了路由'/api/user'正被上面的块正确捕获,所以也许它涉及到nodejs服务器的权限,但我坚持在这一点上。 谢谢你的帮助。