2015-12-22 5 views
0

Я включил HTTPS на веб-сайте, и я обнаружил, что файл JS, который до сих пор был правильно отправлен, когда он запросил тег скрипта в моем шаблоне, теперь терпит неудачу.JS-файл не обрабатывается через HTTPS

Запрос, который работает что-то вроде:

http://dev.mysite.com:54346/socket.io/socket.io.js

и тот, который не делает не так уж сильно отличается:

https://dev.mysite.com:54346/socket.io/socket.io.js

Глядя на выходе lsof -i :5346 и top и остановка сценария. Мне удалось выяснить, что сценарий узла, который начинается с forever, фактически каким-то образом отвечает на t он ходатайствует о том, что работает, но не о другом. Я не слишком разбираюсь в узле, но просматриваю код этого скрипта и его требования (socket.io) Я не видел ничего, что заставило бы меня думать, что он может работать только с HTTP, а не с HTTPS.

Я действительно не понимаю, как это работает, потому что я не видел никакой конфигурации Apache, которая могла бы даже отдаленно означать что-то вроде «перенаправить эти запросы на этот процесс».

Единственное решение, о котором я мог думать, это перенаправить петицию через HTTPS на HTTP, но я пробовал использовать mod_proxy и mod_rewrite без всякой удачи.

Заранее благодарен!

ответ

0

Я собираюсь отметить это как разрешенное, потому что мы уверены, что теперь это больше проблема nodejs, чем Apache conf one. Спасибо, Эд Уильямс!

+0

Извините, я не решил его для вас. : s –

+0

Не беспокойтесь! Оказалось, что мне просто нужно настроить HTTPS-сервер с узлом. – Aruku

3

Звучит как проблема с портом. Если сервер настроен на использование порта 54346 для http, у вас будет другой порт для https. Вы использовали Fiddler или другой инструмент, чтобы узнать, на каком порту находится ваш безопасный сервер? Обычно я использую 80 для http, 443 для https.

См. http://httpd.apache.org/docs/current/bind.html для получения информации о привязных портах для вашего сервера Apache.

+0

Спасибо, я посмотрю позже на Fiddler. Где я могу проверить используемый порт, отличный от файлов vhosts .conf? Там сервер настроен на прослушивание порта 80 для HTTP и 443 для HTTPS; Я понятия не имею, где Apache настроен на выполнение чего-то с портом 54346. – Aruku

+0

Обновлен ответ ссылкой на страницу Apache для настройки портов. Я парень Microsoft и не использовал Apache через 20 лет, но на этой странице появилось то, что вам нужно. –

+0

Благодарим вас за ссылку, но нет никакой директивы '' 'Listen''', используемой на моих виртуальных хостах, по крайней мере в файлах в каталоге' '' sites-available''''; config для этих виртуальных хостов указывает порты 80 для HTTP один и 443 для HTTPS, поэтому все кажется правильным. Я попытаюсь проверить перенаправление портов или переадресацию конфигурации, потому что я не знаю, на что еще смотреть. – Aruku