duanniying2342
2015-12-22 18:14
浏览 132
已采纳

使用Apache Server SSL的php中的Websocket

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dongtang2376 2015-12-31 08:16
    已采纳

    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

    点赞 评论

相关推荐 更多相似问题