为什么我的linux服务器能ping通,但是访问不了web服务?

新手上路,请多包涵

应该不是防火墙的问题,因为之前都可以访问的,后来在我在服务器上学习使用docker,也不知使用了什么操作,网站就访问不了了。
问题如下:

  1. 尝试过将防火墙打开80,8080端口,关闭防火墙等操作,都没有效果。
  2. 也不是DNS解析的问题,使用ip地址同样访问不了,但是能ping通
  3. 服务器使用的是nginx,将80端口的请求转发到8080端口上给nodejs服务器处理
  4. 在服务器上 使用本地curl "http://localhost/"可以返回数据,但是使用curl "http://47.94.197.151"访问不了,curl "http://lys.buctsnc.cn" 同样无效

求大佬指教

阅读 10k
5 个回答

docker的话,需要暴露端口,外部环境才能访问。

如果自己写dockerfile构建出来的镜像,需要加上:

# 将容器内部端口暴露给物理机

EXPOSE 8080

重新构建。

docker在启动的时候,你服务器的端口指向了docker宿主机的端口这个设置好没?

你这是不能访问外网,想办法可以访问外网。

VM虚拟机?
如果是VM虚拟机的话要做映射才可以访问端口(在编辑-虚拟网络编辑器中)

或者检查一下docker bind ip。
还有项目在docker中映射的端口有没有写错

新手上路,请多包涵

端口设置好,或者检查一下docker ip。多想想办法可以的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题