php 中的 Websocket 与 Apache 服务器 SSL

Websocket in php with Apache Server SSL

我正在搜索以在 php 中的 Apache Web 服务器 运行ning 中配置 websocket,使用 Devristo phpws 库到 运行 websocket worker。

当我在服务器中 运行 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,其记录集通过子域指向实例的 public 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>

有人可以帮我吗?如果您需要其他信息,请问我:)

非常感谢

我用这个配置解决了。

  • 在 AWS Route 53 中设置 CNAME 调用 subdomain.domain.com 的记录 指向我的 ELB dns 名称;
  • 在 ELB 侦听器中打开端口 12345;
  • 在 front-end 我建立了连接:

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

就这些了