Javascript Can';t使用真正的ip连接到我的websocket

Javascript Can';t使用真正的ip连接到我的websocket,javascript,php,websocket,Javascript,Php,Websocket,我有一个php websocket(ratchet),它可以监听8080端口上的localhost,我可以通过这个js代码在没有localhost服务器的情况下很好地连接到它们:newWebSocket(“ws://localhost:8080/chat”)或者通过这个js代码在我的本地ip(192.168.1.63)上连接服务器(apache):newWebSocket(“ws://192.168.1.63:8080/chat”)。 但是如果我使用apache服务器和我的真实ip,比如2.60

我有一个php websocket(ratchet),它可以监听8080端口上的localhost,我可以通过这个js代码在没有localhost服务器的情况下很好地连接到它们:
newWebSocket(“ws://localhost:8080/chat”)
或者通过这个js代码在我的本地ip(192.168.1.63)上连接服务器(apache):
newWebSocket(“ws://192.168.1.63:8080/chat”)
。 但是如果我使用apache服务器和我的真实ip,比如2.60.41.83(js代码:
newWebSocket(“ws://192.168.1.63:8080/chat”)
),那么我会得到错误:

到“ws://2.60.41.83:8080/chat?encoding=text”的WebSocket连接失败:连接建立中出错:net::ERR_connection_拒绝

连接被拒绝,但我非常确定打开了哪个8080端口,并监听我的websocket连接。 如果我删除此请求中的ip端口,我将收到404(未找到)错误:

到“ws://2.60.41.83/chat?encoding=text”的WebSocket连接失败:WebSocket握手期间出错:意外响应代码:404

如果我还删除了“/聊天”路径,我将收到302(重定向)错误:

到“ws://2.60.41.83/?encoding=text”的WebSocket连接失败:WebSocket握手期间出错:意外响应代码:302

我得到了所有这些错误,不管我的apache有没有。 我试图通过打开
proxy_模块
proxy_wstunnel_模块
修改我的apache,并修改我的虚拟主机:

#NameVirtualHost *
<VirtualHost *:80>
    ServerAdmin admin@diskyp
    DocumentRoot "D:/XAMPP/htdocs/site"
    ServerName 2.60.41.83:80
    ErrorLog "logs/serv-error.log"
    CustomLog "logs/serv-access.log" common
    RewriteEngine On
    RewriteCond %{HTTP:Upgrade} =websocket [NC]
    RewriteRule /(.*)           ws://localhost:8080/chat [P,L]
    RewriteCond %{HTTP:Upgrade} !=websocket [NC]
    RewriteRule /(.*)           http://127.0.0.1/$1 [P,L]

    ProxyPass /ws/ ws://localhost:8080/chat
    ProxyPassReverse /ws/ ws://localhost:8080/chat
</VirtualHost>
#名称虚拟主机*
服务器管理员admin@diskyp
DocumentRoot“D:/XAMPP/htdocs/site”
服务器名2.60.41.83:80
ErrorLog“logs/serv error.log”
CustomLog“logs/serv access.log”通用
重新启动发动机
RewriteCond%{HTTP:Upgrade}=websocket[NC]
重写规则/(*)ws://localhost:8080/chat[P,L]
重写cond%{HTTP:Upgrade}=websocket[NC]
重写规则/(*))http://127.0.0.1/$1[P,L]
ProxyPass/ws/ws://localhost:8080/chat
ProxyPassReverse/ws/ws://localhost:8080/chat
还可以连接到“/ws/”路径,比如
newwebsocket(“ws://192.168.1.63/ws”)
,但它仍然会给我404错误。 所以现在我真的在这里堆叠,需要一些帮助。
顺便说一句,对不起,我的英语不是我的母语。

只是一个简单的问题:你知道192.168.1.63是一个只能从本地网络访问的专用IP地址吗?没有足够的证据可以肯定这就是问题所在,但如果我不得不打赌的话…?是的,192.168.1.63是我机器的本地地址,2.60.41.83是我真正的ipad,现在想象一下,互联网上的某个任意服务器(无论出于何种目的,都是你的)-与一台本地计算机建立任意连接。你认为,从安全的角度来看,这应该是可能的吗?我认为apache会处理这个问题,他必须将web请求重定向到本地,但这对我有什么帮助?