Nginx,flask socketio-被CORS策略阻止
我有一个flask socketio服务器运行在带有nginx的ubuntu上。我有一个客户端调用服务器。当我尝试呼叫服务器时,收到以下错误:Nginx,flask socketio-被CORS策略阻止,nginx,flask-socketio,Nginx,Flask Socketio,我有一个flask socketio服务器运行在带有nginx的ubuntu上。我有一个客户端调用服务器。当我尝试呼叫服务器时,收到以下错误: has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values '*, *, *, *, *, *, *, *, *, *, *, *, *, *, *, *, *', but only one is allowed.
has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values '*, *, *, *, *, *, *, *, *, *, *, *, *, *, *, *, *', but only one is allowed.
这是我对flask的初始化:
socketio = SocketIO(app, cors_allowed_origins='*', async_mode='eventlet')
这是我在nginx中的当前配置:
server {
listen 80;
server_name server-address;
location / {
include proxy_params;
proxy_pass http://server-address;
include uwsgi_params;
uwsgi_pass unix:/home/user/project/project.sock;
}
location /socket.io{
include proxy_params;
add_header "Access-Control-Allow-Origin" "*" always;
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_pass http://server-address/socket.io;
}
}
客户端对服务器的请求如下所示:
http://server-address/socket.io/?EIO=3&transport=polling&t=1617406124248-38
我试过:
-将允许COR添加到位置/仅,以及两者。
-在烧瓶应用程序中删除/添加允许CORS原点
有人能帮忙吗?您似乎正在处理Socket.IO和nginx级别的COR。我建议您选择其中一个,然后从另一个中删除COR,这样它们就不会相互竞争。好吧,我从flask中删除了该选项,但它仍然不起作用。这不是一个好主意。最好删除nginx中的一个。我做了,但不起作用。我也读取了烧瓶标题
http://server-address/socket.io/?EIO=3&transport=polling&t=1617406124248-38