tornado Python:tornado服务器与NGINX的集成

tornado Python:tornado服务器与NGINX的集成,python,nginx,tornado,Python,Nginx,Tornado,我尝试在多核CPU上运行Tornado,每个Tornado IOLoop进程位于不同的内核上,我将使用NGINX代理Tornado进程。现在当我检查 有关更多详细信息,请在此处编辑实际配置: events { worker_connections 1024; } http { upstream chatserver { server 127.0.0.1:8888; } server { # Requires root access. listen 8

我尝试在多核CPU上运行Tornado,每个Tornado IOLoop进程位于不同的内核上,我将使用NGINX代理Tornado进程。现在当我检查

有关更多详细信息,请在此处编辑实际配置:

events {
worker_connections  1024;
}

http {
upstream chatserver {
    server 127.0.0.1:8888;
  }

server {
    # Requires root access.
    listen       80;

    # WebSocket.
    location /chatsocket {
        proxy_pass http://chatserver;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    location / {
        proxy_pass http://chatserver;
    }
  }
}
现在,以前我可以从客户端连接到套接字ws://localhost:8888(当我运行python main.py时),但现在我无法连接。在服务器上,NGINX正在以某种方式将请求更改为我希望避免的http。访问tornado服务器上的日志:

WARNING:tornado.access:400 GET /search_image (127.0.0.1) 0.83ms

如何使nginx只通过ws://而不是http://

进行通信我解决了这个问题,通过覆盖tornado的check_origin函数,使其在所有情况下都返回true,解决了这个问题。谢谢大家。

可能重复No,我不认为是。我想在客户端也使用ws://..。我无法使用t解决它他在上面的链接中提到了配置。我解决了这个问题,通过覆盖tornado的check_origin函数,使其在所有情况下都返回true,从而解决了这个问题。谢谢大家。