Search code examples
phpapachesslwebsocketphpwebsocket

Websocket in php with Apache Server SSL


I'm searching to configure websocket in Apache web server running in php, using Devristo phpws library to run websocket worker.

When I run php file in the server it gives me this string:

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

In front-end, build on AngularJS, I tried to established connection with:

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

Google Chrome browser's console gives me this error:

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

I've an EC2 AWS instance where I've hosted my source code and I've configured AWS Route 53 with a record set that point to the public IP of the instance through a subdomain.

I don't know how configure a correctly reverse proxy to allow communication.

I tried to set Apache server with a Reverse Proxy, but I think I didn't configure it in the right way.

This is the configuration. I've created a file in site-avaible calls websocket-ssl.conf and linked in site-enabled with this configuration:

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

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

Someone can help me in this? If you want others information ask me :)

Thank you very much


Solution

  • I solved with this configuration.

    • set a record CNAME calls subdomain.domain.com in AWS Route 53 that point to my ELB dns name;
    • open port 12345 in ELB listeners;
    • in front-end I established connection with:

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

    That's all