我有一个烧瓶服务器和一个angularjs前端。我正在尝试创建一个websocket来进行第三方API调用并以异步方式吐出结果(使用celery)。
当前的实现在我的localhost开发环境中完美运行。但是,当我将它推送到我的服务器时,我收到以下错误:
与'wss://'的WebSocket连接失败:WebSocket期间出错 handshake:意外的响应代码:200
我在下面给出了我的前端,服务器和nginx配置文件的相关代码:
前端控制器:
quotesocket = io.connect(myurl.url2,{'force new connection': true,'path':'/api/socket.io'});
quotesocket.on('connect', function(){
// console.log('socket');
});
...
and the rest of the code for event based emits go here
我的nginx配置:
站点可用(这是在80块内。我将所有流量重定向到https,我使用certbot SSL):
location /quote1{
proxy_pass http://127.0.0.1:5000/quote1;
proxy_http_version 1.1;
#proxy_redirect off;
proxy_buffering off;
#proxy_set_header Host $host;
#proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
nginx.conf:
http {
##
# Basic Settings
##
##
# Timeout settings for proxy connections
##
proxy_connect_timeout 150s;
proxy_read_timeout 150s;
.....
}
我的烧瓶服务器:
@socketio.on('connect', namespace='/quote1')
def test_connect():
"""code for connecting"""
I have defined separate defs for events (connect, disconnect_request, disconnect, my_event, etc)
这里的任何人都可以告诉我哪里出错了吗?
此致 Galeej