我目前正在使用Nginx和Node.
在我的Nginx配置中,我将如下所示添加allow-origin头,然后将其传递给包含我的Node应用程序的授权端口:
location /auth {
add_header Access-Control-Allow-Origin *;
proxy_pass http://watchdog:3000;
}
在我的Node中间件中,我还设置了标头以接受任何来源:
app.use((req,res,next) => {
res.setHeader('Access-Control-Allow-Origin','*');
next();
}
当我这样做时,Chrome浏览器会正确地抱怨我两次设置了标题:
The 'Access-Control-Allow-Origin' header contains multiple values '*,*',but only one is allowed.
显然,在Nginx和Node中都设置头是多余的.
但是,令人着迷(令人沮丧)的是,当我在保留Nginx标头的同时删除Node中间件时,出现以下Chrome控制台错误:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
因此,基本上该错误声称要么1)标头设置太多次,要么2)标头完全没有设置.
最佳答案
原文链接:https://www.f2er.com/nginx/532296.html