因此,我尝试在不部署的情况下调试我的服务器代码(这需要很长时间)。
我通过 angular 为我的网站提供服务(在我看来框架并不重要)
ng serve --port 8080.
当我http://localhost:8080
在浏览器中输入时,一切都正常并且网站正在加载。
192.168.1.39 是我的路由器为我的笔记本电脑提供的地址(我在路由器的管理配置页面上看到了它)。
当我输入http://192.168.1.39:8080/
(localhost 应该与这个 ip 地址相同!)时,它与连接到同一个 Wifi 网络的手机上的消息相同(这也是我真正想要的 - 当涉及到手机图像时会出现问题) - 连接被拒绝。
按照此处的调试说明进行操作https://serverfault.com/questions/725262/what-causes-the-connection-refused-message
我们可以清楚地看到 ng 正在监听 8080 端口:
yoni@yoni-Lenovo-Z710:~/Projects/Server$ sudo netstat -tnlp | grep :8080
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 5879/ng
我已经完全禁用了防火墙
sudo ufw disable
重新启动了我的笔记本电脑-仍然拒绝连接。
(我知道不建议这样做,但我真的想弄清楚事情,但几个小时后这变得非常令人沮丧)。
除此之外,我还尝试了 8080 以外的端口(例如默认的 Angular 4200)。
哦,是的,我尝试将端口 4000 到 9000 的所有请求转发到我的笔记本电脑(路由器配置)。结果相同 - 连接被拒绝 ;)
我该怎么办?如何调试此问题?
答案1
您好,欢迎来到 AskUbuntu!
正如您所看到的netstat
,您的服务正在监听仅有的在localhost
:
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 5879/ng
^^^^^^^^^^^^^^
您应该将ng
命令更改为:
ng serve --host 0.0.0.0 --port 8080
所以它将听在端口8080
上全部可用您机器上的 IP/接口。