Веб-сокет в php с Apache Server SSL

Я пытаюсь настроить веб-сокет на веб-сервере Apache, работающем на php, используя библиотеку Devristo phpws для запуска рабочего веб-сокета.

Когда я запускаю файл php на сервере, он дает мне эту строку:

Resource id #442015-12-22T16:41:16+00:00 NOTICE (5): phpws listening on ssl://172.31.29.79:12345

Во внешнем интерфейсе, построенном на AngularJS, я попытался установить соединение с:

var dataStream = $websocket('wss://subdomain.domain.com');

Консоль браузера Google Chrome выдает мне эту ошибку:

WebSocket connection to 'wss://subdomain.domain.com/' failed: Error during WebSocket handshake: Unexpected response code: 200

У меня есть экземпляр EC2 AWS, где я разместил свой исходный код и настроил AWS Route 53 с набором записей, указывающих на общедоступный IP-адрес экземпляра через субдомен.

Я не знаю, как правильно настроить обратный прокси-сервер, чтобы разрешить связь.

Я попытался настроить сервер Apache с обратным прокси-сервером, но думаю, что неправильно его настроил.

Это конфигурация. Я создал файл в доступных для сайта вызовах websocket-ssl.conf и связал его с поддержкой сайта с этой конфигурацией:

<VirtualHost *:80>
 ServerName subdomain.domain.com

 ProxyPass / ssl://172.31.29.79:12345/
 ProxyPassReverse / ssl://172.31.29.79:12345/
</VirtualHost>

Кто-то может помочь мне в этом? Если вам нужна другая информация, спросите меня :)

Большое спасибо


person ptesser    schedule 22.12.2015    source источник
comment
Пожалуйста, опубликуйте свою конфигурацию apache, которая показывает вашу попытку установить обратный прокси. Кроме того, вы смотрели журнал ошибок apache?   -  person Phil    schedule 22.12.2015
comment
Конечно, я отредактировал свой конфиг в основном вопросе. Спасибо   -  person ptesser    schedule 23.12.2015


Ответы (1)


Я решил с этой конфигурацией.

  • установить запись CNAME, вызывающую subdomain.domain.com в AWS Route 53, которая указывает на мое DNS-имя ELB;
  • открыть порт 12345 в слушателях ELB;
  • во внешнем интерфейсе я установил соединение с:

    var dataStream = $websocket('wss://subdomain.domain.com:12345');

Это все

person ptesser    schedule 31.12.2015