当我的网站有超过80个在线用户时,socket.io无法进行握手。我检查了我的nginx日志,这个错误经常出现:
*374 upstream prematurely closed connection while reading response header from upstream, client:
所以我检查了我的nginx配置,这就是我所拥有的:
files:
"/etc/nginx/conf.d/01_websockets.conf" :
mode: "000644"
owner: root
group: root
content : |
upstream nodejs {
server 127.0.0.1:8081;
keepalive 256;
}
server {
listen 8080;
location / {
proxy_pass http://nodejs;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
"/opt/elasticbeanstalk/hooks/appdeploy/enact/41_remove_eb_nginx_confg.sh":
mode: "000755"
owner: root
group: root
content : |
mv /etc/nginx/conf.d/00_elastic_beanstalk_proxy.conf /etc/nginx/conf.d/00_elastic_beanstalk_proxy.conf.old
〜
//client side
var origin = window.location.origin;
console.log("origin is: " + origin);
var socket = io.connect(origin, {'force new connection': true});
//server side
app.set('port', process.env.PORT || 8081);
var server = require('http').createServer(app);
var io = require('socket.io')(server);
server.listen(8081);
我有什么问题吗?