【发布时间】:2016-06-29 08:38:20
【问题描述】:
我在基于 symfony 的门户网站上使用 websocket bundle,而在本地主机上似乎一切正常,但当我将门户网站移动到生产服务器上时,事情就崩溃了。
在本地主机上,我使用的主机是127.0.0.1,端口是8080,所以当我转移到生产环境时,我必须将 ip 更改为生产 ip,然后我必须告诉 ubuntu 服务器打开端口8080 使用以下命令
sudo ufw allow 8080/tcp 这给了我的输出
Rule added
Rule added (v6)
然后我运行命令sudo ufw status 以查看端口是否已添加到防火墙中,我可以看到它是
To Action From
-- ------ ----
22 ALLOW Anywhere
80/tcp ALLOW Anywhere
8080 ALLOW Anywhere
8080/tcp ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
8080 (v6) ALLOW Anywhere (v6)
8080/tcp (v6) ALLOW Anywhere (v6)
但错误仍然存在
WebSocket connection to 'ws://111.222.333.44:8080/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
我也尝试了命令telnet 111.222.333.44 8080,这给了我以下错误
Trying 111.222.333.44...
telnet: connect to address 111.222.333.44: Connection refused
telnet: Unable to connect to remote host
所以这告诉我端口8080 没有打开,我需要使用什么命令来打开它?我正在使用 Ubuntu 15.10
任何帮助将不胜感激。
【问题讨论】:
-
那么你在听什么IP地址和端口?你能用
netstat确认吗? -
我需要能够监听 ip 假设
127.0.0.1和端口8080 -
您的应用程序当前正在监听的 IP 地址和端口是什么?
-
好像在监听
127.0.0.1和端口80 -
那不会 -
127.0.0.1是一个本地接口,不能从外部访问。您必须绑定到外部 IP 地址或使用0.0.0.0侦听所有接口
标签: symfony websocket ubuntu-15.10