简体   繁体   中英

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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM