我将Nginx设置为在uWSGI上运行的Flask应用程序的反向代理。配置如下:
server {
listen 80;
server_name subdomain.app.org;
location / {
include uwsgi_params;
uwsgi_pass unix:/home/ubuntu/app/myapp.sock;
}
}
此外,我想访问在端口3232上运行在同一台机器上的websocket。所以我将配置更改为:
server {
listen 80;
server_name subdomain.app.org;
location /ws/ {
proxy_pass http://127.0.0.1:3232;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_read_timeout 86400;
}
location / {
include uwsgi_params;
uwsgi_pass unix:/home/ubuntu/app/myapp.sock;
}
}
当我尝试使用wscat -c ws://subdomain.app.org/ws
从远程访问套接字时,我收到error: Error: unexpected server response (301)
。
当我将websocket和Flask应用程序的位置设置为/
时,一切正常,但是我再也无法访问我的Flask应用程序了。
有什么想法吗?我不知道在我之前有很多人问过这个问题,但是没有与运行的uWSGI套接字有关。我花了几个小时阅读stackoverflow帖子,但没有找到合适的东西。谢谢你的帮助。