Node.js cors req.headers.cookie?

我有一个node.js服务器来处理一些东西,它位于端口:9000 ,我build立了一个authentication中间件来限制一些路由。

虽然我不能获取cookie,所以我怀疑这是因为req来自另一个地方:3000例如:3000

我不是试图获取cookie的快递集,我试图从请求获得客户端的PHP cookie

 // using var req = http.IncomingMessage.prototype; req.authenticated = function(callback) { console.log(this.headers.cookie) } 

所以问题是我怎样才能设置,以便每当:3000向我的node.js服务器发出请求:9000 cookie是与头一起发送?

你有很多select:

  • 您可以将两台服务器置于反向代理(如nginx)之后,并将来自同一权限的不同URL映射到不同的后端。

  • 你可以configurationApache(或者你的主站点托pipe的任何服务器)来使用mod_proxy( 指令 )将一些URL转发到你的Node服务器。

  • 您可以将您的节点服务器托pipe在主服务器的子域上,并使用相同的端口,然后使用域通配符cookie

  • 您可以将auth令牌显式地作为由客户端代码设置的HTTP头来发送(您需要将原始auth令牌发送给可通过JS访问的客户端;注意XSS攻击)

  • 您可以让主站点向Node.js服务器上的一个URL发送一个签名的请求,以便在其权限上设置一个auth cookie(您需要在注销时执行相同的操作,并防止CSRF,会话修复和其他攻击;了解SSO技术)