Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我运行一个由 socket.io 大量驱动的 Express js 页面,但我计划设置一个 Nginx 实例(代理节点 js 应用程序)来开发网站的其余部分。
如果用户在 Nginx 中通过身份验证,我如何将凭据传递给 express js 应用程序?我可以共享 cookie 或会话吗?还要考虑在 Redis 中存储数据。处理这个问题的最佳方法是什么?
如果您使用 cookie 来记住身份验证,它们将通过 Nginx 与请求的其余部分一起自动传递给 Node,并带有proxy_pass指令。
proxy_pass
如果您在谈论基本身份验证(严格来说,用户不是“通过 Nginx 身份验证”但 Nginx 不会在没有正确凭据的情况下为请求提供服务,您可以在使用proxy_set_header指令将请求传递给 Node 时设置自定义标头,以告诉 Node 谁是认证。
proxy_set_header