Согласно следующему сообщению, некоторые сети разрешают подключение только к портам 80 и 443: Socket IO не удается подключиться в корпоративных сетях
Edit: For clarification, the issue is when the end user is using a browser at work behind a corporate firewall. Настройка брандмауэра на моем сервере находится под моим контролем.
Я читал о том, что Nginx использует proxy_pass для Socket.io, слушающего на другом порту (о недостатках которого я читал), а также обратный прокси с использованием nodejitsu/node-http-proxy для передачи не-узлового трафика на Nginx (что имеет другие недостатки). Я заинтересован в рассмотрении всех возможных вариантов.
После долгих поисков я не нашел обсуждения возможности использования socket.io, слушающего порт 443, как это:
var io = require('socket.io').listen(443);
Где клиент будет подключаться как это:
var socket = io.connect('http://url:443/', {secure: false, port: '443'});
Помимо потери использования https на этом сервере, есть ли какие-либо другие недостатки в этом? (Например, блокируют ли корпоративные сети не-SSL соединения через порт 443?)