当前位置: 首页 > 知识库问答 >
问题:

Nginx、flask socketio-被CORS策略阻止

锺离德运
2023-03-14

我有一个flask socketio服务器,运行在带有nginx的ubuntu上。我有一个客户端调用服务器。当我尝试呼叫服务器时,收到以下错误:

has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values '*, *, *, *, *, *, *, *, *, *, *, *, *, *, *, *, *', but only one is allowed.

这是我对烧瓶的初始化:

socketio = SocketIO(app, cors_allowed_origins='*', async_mode='eventlet')

...

if __name__ == '__main__':
    socketio.run(app, host="0.0.0.0", port='80', debug=False)

这是我当前在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

我尝试过:

-添加允许CORS到位置/仅,以及两者-在烧瓶应用程序中删除/添加allow CORS origin。

有人能帮忙吗?

共有1个答案

白智
2023-03-14

添加您的Nginx conf

proxy_hide_header Access-Control-Allow-Origin

然后重新加载Nginx并尝试。

 类似资料:
  • 当我使用HTML2Canvas评估图像时,我得到了这个错误。 CORS策略阻止从来源“http://localhost:8080”访问位于“http://testdomain.com/storage/images/products/user_front.png”的映像:请求的资源上没有“Access-Control-Allow-Origin”标头。 下面是我的cors配置。 有人能帮我吗?

  • 我有一个在Node开发的API。JS,打字稿听localhost:3001我有一个Angular的前端应用程序,打字稿听localhost:4200 我正在尝试使用ngx-image-cropper上传图像文件,将其转换为base 64,从前端到API。 当补丁(更新)http请求发送到API时,我得到: 访问位于'http://localhost:3001/member/10'从原点'http:

  • 我的应用程序的客户端是.NET6,服务器端web API是.NET 4.8。当尝试访问服务器端时,浏览器控制台中会产生以下错误: CORS策略已阻止从源“https://localhost:34564”访问“https://localhost:12345/API/controller/method”进行提取:请求的资源上不存在“Access-Control-Allow-Origin”标头。如果不透

  • 请不要将此标记为重复。我已经阅读了关于堆栈溢出的每一个相关答案,并且还没有找到这个问题的明确解决方案。 我现在正在使用带有axios的vue服务器来尝试从https://coinmarketcap.com.获取数据并显示它。问题是,我在chrome控制台上收到一条错误消息: 从https://api.coinmarketcap.com/v1/ticker到https://api.coinmarke

  • 有一个应用程序在角7也有一个. net web api解决方案,当我调用一个动作CORS问题发生,错误如下 CORS策略阻止从http://localhost:57467/UserDetails/GetUserDetailshttp://localhost:4200访问XMLHttpRequest:对预试请求的响应不通过权限改造检查:请求的资源上不存在访问控制允许起源标头。 我试图使用Web ap

  • 当我尝试在角7网络应用程序中执行补丁请求时,我遇到了一个问题。在我的后端,我有: 在我的前端服务中,我: 错误是: 我能做什么?谢谢