Всем привет.
Пытаюсь заставить socket.js работать через https.
Все работает с настройками для HTTP и через IP сервера (у меня впс) по HTTPS, а вот через поддомен на котором есть HTTPS - не работает.
Такие настройки:
Запускаемый скрипт nodejs:
var fs = require('fs');
var https = require('https');
var options = {
key: fs.readFileSync('/var/www/httpd-cert/site/айписервера.key'),
cert: fs.readFileSync('/var/www/httpd-cert/site/айписервера.crt')
};
server = https.createServer(options);
var io = require('/usr/local/lib/node_modules/socket.io').listen(server);
server.listen(900);
И nginx.conf:
# in the http{} configuration block
upstream socket_nodes {
ip_hash;
server io.domain:900 weight=5;
server io.domain:900;
server io.domain:900;
server io.domain:900;
}
server {
server_name io.domain.com;
location / {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://socket_nodes;
}
}
При запуске, начинается "бесконечное ожидание" по
https://io.domain:900 и
https://io.domain:900/socket.io/socket.io.js
И как я писал выше , по айпи впс:
https://ipvps:900 и
https://io.ipvps:900/socket.io/socket.io.js все работает...