当前位置: 代码网 > 服务器>服务器>Linux > Windows无法访问虚拟机Linux下TomCat的快速解决方法

Windows无法访问虚拟机Linux下TomCat的快速解决方法

2026年08月06日 Linux 我要评论
在虚拟机linux下安装完tomcat,并且开启了tomcat服务,但是用主机windows10系统用浏览器访问http://192.168.28.28:8080(这里192.168.28.38是虚拟

在虚拟机linux下安装完tomcat,并且开启了tomcat服务,但是用主机windows10系统用浏览器访问http://192.168.28.28:8080(这里192.168.28.38是虚拟机linux的ip地址,8008是tomcat的默认端口),但是浏览器却提示无法连接,这是因为linux的防火墙问题,解决方法有两个:

1)第一种方法:在linux下把8080端口设

[root@localhost ~]# vim /etc/sysconfig/iptables

在-a input -m state --state new -m tcp -p tcp --dport 22 -j accept这行的下方添加一行-a input -m state --state new -m tcp -p tcp --dport 8080 -j accept

修改后如图所示:

# firewall configuration written by system-config-firewall
# manual customization of this file is not recommended.
*filter
:input accept [0:0]
:forward accept [0:0]
:output accept [0:0]
-a input -m state --state established,related -j accept
-a input -p icmp -j accept
-a input -i lo -j accept
-a input -m state --state new -m tcp -p tcp --dport 22 -j accept
-a input -m state --state new -m tcp -p tcp --dport 8080 -j accept
-a input -j reject --reject-with icmp-host-prohibited
-a forward -j reject --reject-with icmp-host-prohibited
commit

保存后重启linux的防火墙服务,命令如下:

[root@localhost ~]# /etc/init.d/iptables restart

此时你会发现在浏览器重新输入网址可以看到我们的tomcat了

2)第二种方法:比较暴力,就是完全关闭linux的防火墙

指令如下:

[root@localhost ~]# service iptables stop

如果需要重新开启防火墙,指令如下:

[root@localhost ~]# service iptables start

补充:

windows 无法访问虚拟机 linux 下 tomcat 的核心原因是‌linux 防火墙拦截端口‌、‌网络模式(nat)未配置映射‌或‌tomcat 未正常监听‌,需按顺序排查:‌‌

核心解决步骤

  • 确认 tomcat 服务状态与监听端口‌:在 linux 虚拟机执行 netstat -tlnp | grep 8080(或修改后的端口),确保进程存在且监听 0.0.0.0 而非 127.0.0.1;若未启动,执行 startup.sh
  • 开放 linux 防火墙端口‌:根据发行版选择命令开放 8080 端口(‌严禁直接关闭防火墙‌):
    • centos 7+/rhel‌:sudo firewall-cmd --permanent --add-port=8080/tcp 然后 sudo firewall-cmd --reload
    • ubuntu/debian‌:sudo ufw allow 8080/tcp
    • 旧版 centos 6‌:sudo iptables -i input -p tcp --dport 8080 -j accept 并保存规则
  • 检查网络模式与 ip 连通性‌:
    • 若使用‌桥接模式 (bridged)‌:虚拟机获取同网段 ip,windows 直接访问 http://<虚拟机 ip>:8080
    • 若使用‌nat 模式‌(默认):需配置端口映射。在 vmware 中进入“编辑”->“虚拟网络编辑器”->"nat 设置”->“添加”,将主机端口(如 8080)映射到虚拟机 ip 的 8080 端口,随后访问 http://localhost:8080 或 http://<主机 ip>:8080
  • 验证连通性‌:在 windows cmd 执行 telnet <目标 ip> <端口>,若不通则继续排查;若通但浏览器打不开,检查 tomcat server.xml 是否绑定特定 ip。‌‌

常见误区与补充

  • selinux 干扰‌:部分系统(如 centos)开启 selinux 会拦截非标准端口,临时测试可执行 setenforce 0,永久解决需配置 selinux 策略允许该端口。
  • hosts 文件与 dns‌:确保无本地 hosts 文件错误映射导致解析失败。
  • 多网卡冲突‌:若虚拟机有多块网卡,确认 tomcat 监听的是对外网卡 ip 或 0.0.0.0。‌‌

若上述步骤仍无效,请提供具体报错信息(如“连接超时”或“拒绝连接”)及虚拟机网络模式(nat/桥接/仅主机),以便精准定位。

到此这篇关于windows无法访问虚拟机linux下的tomcat的解决方法的文章就介绍到这了,更多相关windows无法访问虚拟机linux下的tomcat内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com