Обслуживание 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']
    });
Другие вопросы по тегам