php 正在设置来自同一服务器的Ratchet ws连接

prdp8dxp  于 2023-02-07  发布在  PHP
关注(0)|答案(1)|浏览(134)

我试图让我的棘轮服务器在线工作,
所以我买了vps,把所有站点文件上传到xampp里的htdocs
防火墙和端口8080已调整,因此问题不在此,
我的服务器代码

$server = IoServer::factory(
    new HttpServer(
        new WsServer(
            new chat_server()
        )
    ),
    8080
);

js连接

var ws = new WebSocket("wss://example.com:8080/ws");

我调整了httpd.conf文件中的模块

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so

以及httpd-proxy.conf中

ProxyRequests Off
ProxyPass /ws https://example.com:8080

当然,在cmd中,我正在运行该文件

php server.php

但它仍然
到“wss://example.com:8080/ws”的WebSocket连接失败:
我错过了什么,它已经一个星期几乎试图使它工作:DD

qhhrdooz

qhhrdooz1#

你的问题是你正在以错误的方式重定向。
ProxyPass /ws https://example.com:8080语句中,应该将ws子域重定向到HTTP,而不是HTTPS。
ProxyPass /ws/ http://example.com:8080/或如果套接字服务器是本地的,请尝试ProxyPass /ws/ http://127.0.0.1:8080/

相关问题