问题:局域网内配置好tocmat,服务器本机访问http://ip:8080成功,但远程访问http://ip:8080失败,下面是一步步排查过程:

1 tomcat禁用IPv6

关闭网卡IPV6协议

#netstat –anp |grep 8080  //是jsvc程序和tomcat用户在用,且端口在监听状态

#lsof –i:8080 //发现type=IPV6,很奇怪怎么是IPV6监听8080端口

#netstat –tpl //查看端口监听协议

原因是Tomcat在启动的时候,如果检测到系统支持IPV6,默认监听的是IPV6的端口,导致通过IPV4无法访问。使用address=“0.0.0.0”的意思是监听IPV4协议栈下的任何端口。IPV4协议监听任何地址应配置:0.0.0.0。IPV6协议监听任何地址应配置:0:0:0:0:0:0:0:0。

从系统层面关闭IPV6,觉得影响太大,于是先从tomcat应用层面关闭IPV6:

方法一:tomcat目录下配置 bin/Catalina.sh

最后增加:

JAVA_OPTS="$JAVA_OPTS

-Djava.net.preferIPv4Stack=true

-Djava.net.preferIPv4Addresses=true "

无效

方法二:tomcat目录下配置conf/server.xml

#netstat -an | grep 8080 //还是ipv6在监听

在端口8080标签内增加address=”0.0.0.0”

无效

2 系统网卡禁用IPv6

从系统层面直接关闭网卡的IPv6协议。

方法一:

#vi /etc/sysconfig/network

增加:NETWORKING_IPV6=no

#service network restart //重启网络

#lsmod |grep ipv6 //仍存在

无效

方法二:

在/etc/modprobe.d/dist.conf结尾添加

alias net-pf-10 off

alias ipv6 off

重启机子

#lsof –i:8080 //type为ipv4了

可是关闭了ipv6关闭了防火墙还是无法远程访问tomcat,崩溃中。。。

3 防火墙配置

增加8080端口到防火墙配置中,执行以下操作:

# vi /etc/sysconfig/iptables

增加以下代码:

-A RH-Firewall-1-INPUT -m state --state NEW -mtcp -p tcp --dport 8080 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp--dport 8080 -j ACCEPT

-A INPUT –p tcp –m tcp --dport 8080 –j ACCEPT

//重启防火墙

# service iptables restart

#/etc/init.d/iptables status //查看防火墙状态,已配置8080端口

远程访问依旧失败,究竟原因是什么呢?即使关闭本机防火墙也没办法,各种折腾,已崩溃,耗时一天。

4 局域网限制端口

目前的状态是关闭防火墙关闭IPV6,在本机访问tocmat正常,但在局域网无法远程访问。综合分析,可能是局域网服务器区的防火墙对端口作限制,通过telnet也无法返回,最后确认是这个问题。申请局域网防火墙开放服务器的tomcat端口。

从上述一个解决问题过程中,确实发现centos部署tomcat需要关注的两点,一个是tomcat默认绑定了IPv6监听端口;另一个是服务器本机防火墙iptables需要启用8080端口。

centos6.2关于tomcat远程不能访问的问题处理过程相关推荐

  1. Spring Boot项目部署服务器 本地正常 远程无法访问问题排错

    Spring boot项目部署linux 服务器本地正常 远程无法访问 问题描述 排错 原因 最后 最近买个云主机学大佬部署项目..然后直接炸裂了... 问题描述 本地保证代码没问题的情况下( jav ...

  2. Eclipse+Maven+Nexus+Tomcat远程搭建CentOS web server

    Eclipse+Maven+Nexus+Tomcat远程搭建CentOS web server 工具的使用,参考了很多前辈的资料,虽然不是转载但也算不上原创,仅供自己和大家参考罢了. 笔者的本意是要在 ...

  3. 如何将web项目部署到远程桌面,通过远程地址访问web项目

    如何将web项目部署到远程桌面,通过远程地址访问web项目 进入公司会经常让你把某个项目或者一些展示数据的html文件放到远程服务器上,可供大家一起访问查看,看了网上的一些办法大部分都是nginx,t ...

  4. MySQL远程表访问设置

    MySQL远程表访问设置 本博文转载自          http://blog.itpub.net/9406448/viewspace-223946 ---- 官网上的信息 使用MySQL FEDE ...

  5. 以远程桌面访问Windows Azure虚拟机(转+译)

    公告    :本博客为微软云计算中文博客  的镜像博客.   部分文章因为博客兼容性问题  ,会影响阅读体验  .如遇此情况,请访问  原博客    . 本周Windows Azure Team发布了 ...

  6. jconsole_我的Wiki:使用JConsole对WildFly(或JBoss AS7)进行远程JMX访问

    jconsole 与以前的版本相比,JBoss AS7的目标之一是使其在默认情况下更加安全. 受此目标直接影响的领域之一是,您不再期望服务器在端口上公开某些服务并无需任何身份验证/授权就可以访问它. ...

  7. 服务器读取本地文件,java远程服务器访问本地文件

    java远程服务器访问本地文件 内容精选 换一换 云服务器网络异常.防火墙未放行本地远程桌面端口.云服务器CPU负载过高等场景均可能导致云服务器无法正常登录.本节操作介绍无法登录Linux弹性云服务器 ...

  8. jconsole 使用_我的Wiki:使用JConsole对WildFly(或JBoss AS7)进行远程JMX访问

    jconsole 使用 与以前的版本相比,JBoss AS7的目标之一是使其在默认情况下更加安全. 受此目标直接影响的领域之一是,您不再期望服务器在端口上公开某些服务,而无需任何身份验证/授权即可访问 ...

  9. 我的Wiki:使用JConsole对WildFly(或JBoss AS7)进行远程JMX访问

    与以前的版本相比,JBoss AS7的目标之一是使其在默认情况下更加安全. 受此目标直接影响的领域之一是,您不再期望服务器在端口上公开某些服务,而无需任何身份验证/授权就可以访问它. 请记住,在以前的 ...

最新文章

  1. POJ-2513 Colored Sticks 字典树,欧拉回路
  2. Pod定义YAML文件详解
  3. slickgrid 中ajax,slickgrid.js 一种高性能web数据表格组件的探讨
  4. 2.11.1.移植前的准备工作
  5. python生成list的时候 可以用lamda也可以不用_python 可迭代对象,迭代器和生成器,lambda表达式...
  6. ambassador 学习七 Mapping说明
  7. docker(7):使用python 连接数据库,插入并查询数据--link
  8. 【ECJTU_ACM 11级队员2012年暑假训练赛(8) - F - A Mame】
  9. unittest 测试
  10. Pr 视频效果:图像控制、实用程序
  11. 二叉树非递归遍历(先序、中序、后序)(C++)
  12. 自动点击android按钮,Android实现自动点击无障碍服务功能的实例代码
  13. lintcode 983. 棒球游戏
  14. sd卡umount时busy解决方法
  15. flutter Image.network()网络图片加载失败,404错误的异常处理和解决方法初探
  16. 【模型开发】评分卡应用
  17. 浏览器的onload事件
  18. 中兴手机可以刷鸿蒙系统吗,中兴:今年无计划使用华为鸿蒙系统
  19. win7系统wifi没有网络连接到服务器,Win7无线Wifi无法连接怎么办?win7系统Wifi无法连接的三种故障原因及解决方法...
  20. 非递归的归并排序(详细解析)

热门文章

  1. 数据结构和算法分析:第四章 树
  2. mySQL双机冗余_MySQL双机热备实现原理
  3. 实现在Windows下安装Lighttpd的方法
  4. win2003 vps IIS6中添加站点并绑定域名的配置方法
  5. Logistic Regression逻辑回归
  6. iBatis 的插入一个实体
  7. VS2005新建应用工程出错解决方法
  8. WINCE6.0+S3C2443的启动过程---eboot4
  9. Eboot.bib中0x30000000到0x300020000内存的作用
  10. SSL协议(HTTPS) 握手、工作流程详解(双向HTTPS流程)