Обслуживание Juggernaut 2 через чистое соединение HTTPS
У меня есть сайт Ruby on Rails, на котором я заставляю все соединения быть SSL. Мне нужны все соединения с этого сайта, чтобы использовать HTTPS. Кроме того, Google Chrome автоматически переключится на HTTPS, даже если я подключусь к другому порту.
Это означает, что я не могу подключиться к http://www.mysite.com:8080/ Я должен обслуживать js-файл juggernaut через https. Но это не работает, поскольку Джаггернаут не хочет использовать https вместо http на своем внутреннем веб-сервере. Поэтому я скопировал файл application.js из папки juggernaut /usr/local/lib/node_modules/juggernaut/public/application.js в мою папку rails public/juggernaut и изменил следующую строку в моем HTML-коде:
в
Теперь я, кажется, могу хотя бы инициировать объект Джаггернаут. Проблема возникает, когда я действительно начинаю слушать. Я получаю эту ошибку:
Не найдено: https://www.mysite.com:8080/socket.io/1/?t=1340749304426&jsonp=0
Так что либо мне нужно
а) быть в состоянии изменить это так, чтобы я мог на самом деле сделать так, чтобы веб-сервер Juggernauts использовал https вместо http. Это предпочтительнее.
или же
b1) исправить Джаггернаут, чтобы он не пытался получить доступ к socket.io через порт 8080 и
b2) добавьте socket.io на мой сервер, желательно в папке www.mysite.com/juggernaut вместо корневого каталога.
Есть идеи?
Спасибо!
1 ответ
Может быть, немного поздно, но я смог заставить его работать, используя это. (Мой Джаггернаут размещен на героку)
var jug = new Juggernaut({
secure: true,
host: 'yourHostHere',
port: 443,
transports: ['xhr-polling','jsonp-polling']
});