我正在尝试运行一个网页:9000来向在节点上运行的反向代理发出请求:8080接受请求,好像它在同一个域上一样。我已经了解到另一个端口==一个不同的域,因此OPTIONS请求被发送。我的服务器返回401未经授权,而angular的http客户端获取没有数据的响应,没有控制台错误的代码“无效的http状态代码401未授权”。
我只是希望反向代理就像在同一个域上一样,对这些选项请求说“OK”。
答案 0 :(得分:0)
反向代理负责使用预期的CORS头响应OPTIONS请求。您能否提供有关节点反向代理的更多详细信息。是快递吗?
这些是您需要回复的标题(您的用例可能会有所不同,但这是我在最近的项目中所需要的):
res.setHeader('Access-Control-Allow-Origin', 'whatever.com:9000');
res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
res.setHeader('Access-Control-Allow-Credentials', true); // you probably dont want this one unless there is auth/cookies involved
res.setHeader('Access-Control-Allow-Methods', 'GET,PATCH,POST,PUT,DELETE');