记一次tomcat故障排查(转)

 

1~1024之间的端口号是保留端口,通常是为特定目的预留的。虽然你的问题不是由于保留端口引起的,但是仍然建议你不要随意使用保留端口作为自定义服务的端口,如果你能早早遵循这一规则压根就不会遇到这个问题。就像编程时不要用某些保留字作为变量名的道理一样,虽然用了平时可能也没事,但保不住哪天就给你来个莫名其妙的问题。

问题来源

因为经常有各种各样的大小项目要跑,全部放一个tomcat很慢,所以俺平时喜欢新建80-89这10个tomcat,分别放不同的项目。以前还一直用的好好的,昨天突然发现87端口的tomcat怎么都访问不了,本来大不了换一个别的端口就了事,但是我觉得问题既然碰到了就要彻底排查,不然下次再碰到就又没辙了。

这个奇怪的问题纠结了我将近一天左右,记录下来是为了让后来人少走坑爹路。如果你想直接知道原因而不管我这没啥意义的排查过程,直接滚动到最后就可以了。

现象描述

tomcat能正常启动,也没提示什么端口冲突,但就是访问不了,要是页面提示个什么404啥的也还OK啦,但偏偏提示的是“网络连接错误”!这尼玛,真是灵异事件啊,然后就尝试着找原因。

打开浏览器只看到这样的页面:

排查

首先当然是试一下其它端口,发现86、88端口均正常,唯独87不正常,然后就查看端口占用情况,仔细对比不同端口启动时端口占用情况,开始还欣喜的以为发现问题了,因为其它端口启动时都至少有4个相关记录,唯独87端口只有3条,但后来仔细对比来对比去也没发现什么有用的价值,具体过程就不说了,反正就是没从这条路上找到原因,贴上一张并没有什么价值的对比图:

然后想,tomcat确实成启动了,只是浏览器不知为何访问不了而已,要不我telnet试试?然后就试试telnet localhost 87,发现也没问题啊,这说明端口确实被tomcat绑定了啊,可为啥就是访问不了呢?

然后我注意到上面查看端口占用时貌似唯独87端口没有类似127.0.0.1:87地址出现,那是不是直接用ip可以呢?但是http://172.16.4.97:87http://localhost:87http://127.0.0.1:87等都试了下还是不行。

再然后,是不是换别人的电脑可以呢?拿一台局域网内的另外PC试了下,还是不行(特别说明:用的是大数字安全浏览器)。

再想想,是不是eclipse里面出了什么问题呢?我就直接到外面跑一个tomcat绑定87端口试一下,还是不行!

那又是不是我的tomcat7出了问题呢?然后又换tomcat6绑定一个87端口,再试,还是不行!

我滴个妈呀,这到底是个什么鬼啊[抓狂][抓狂],真是快疯掉了!

重头戏来了

就在我一筹莫展的时候,就在一个小时以前,我说,要不我换个浏览器试试?总不会跟浏览器有关系吧?(回头想想我也不记得我是怎么想到的)

之前一直用的是“伟大的”大数字极速浏览器(为啥说伟大,后面你就懂了),我换了Chrome试了下,虽然也还是访问不了,但是发现了一个非常关键的错误信息:ERR_UNSAFE_PORT

你说啥?不安全的端口?咋个不安全了勒?我就郁闷了,顺手度娘了一下,果然发现有用信息了,貌似是浏览器做了手脚,没等我仔细看,我就迫不及待的多试了几个浏览器,试了下火狐,嘿嘿,火狐说的更直白一点:

此地址使用了一个通常用于网络浏览以外目的的端口。出于安全原因,Firefox 取消了该请求。这下总算明白了,可以十分确定就是浏览器做的手脚!再试了下IE,嘿嘿,我大IE这次竟然很听话,竟然没啥问题(难不成说我早用IE就好了?)。。。

总结

纠结了我这么久,原来罪魁祸首竟然是我大数字急速浏览器啊,由于Chrome一些限制,一直习惯直接把它当成chrome来用,毕竟内核更新也比较快,也没管其它太多,谁曾想,哎!不过好在问题原因总算找到了!

解决

啥?你以为这就完了?当然不是,找到问题原因了当然还要找到解决方法。

Chrome

开始菜单搜索“Chrome”,右键打开文件位置,选中的是一个快捷方式,右键属性,增加以下参数:

// 表示允许的端口,多个端口逗号分隔
--explicitly-allowed-ports=87,6666,556,6667

示例如下:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --explicitly-allowed-ports=87,6666,556

再启动,访问,发现没有问题了。

火狐

地址栏输入about:config,然后右键新建一个字符串键,名称为network.security.ports.banned.override,内容就是允许的端口,多个端口逗号分隔,如87,6666,556,然后确定,再试,OK了(貌似无需重启浏览器)。

IE

IE?IE没问题啊,还解决个球啊~~~

附录

Google Chrome 默认非安全端口列表,虽然以上方法可以解决问题,但还是尽量避免吧,谁想没事找麻烦啊:

  1,    // tcpmux
  7,    // echo
  9,    // discard
  11,   // systat
  13,   // daytime
  15,   // netstat
  17,   // qotd
  19,   // chargen
  20,   // ftp data
  21,   // ftp access
  22,   // ssh
  23,   // telnet
  25,   // smtp
  37,   // time
  42,   // name
  43,   // nicname
  53,   // domain
  77,   // priv-rjs
  79,   // finger
  87,   // ttylink
  95,   // supdup
  101,  // hostriame
  102,  // iso-tsap
  103,  // gppitnp
  104,  // acr-nema
  109,  // pop2
  110,  // pop3
  111,  // sunrpc
  113,  // auth
  115,  // sftp
  117,  // uucp-path
  119,  // nntp
  123,  // NTP
  135,  // loc-srv /epmap
  139,  // netbios
  143,  // imap2
  179,  // BGP
  389,  // ldap
  465,  // smtp+ssl
  512,  // print / exec
  513,  // login
  514,  // shell
  515,  // printer
  526,  // tempo
  530,  // courier
  531,  // chat
  532,  // netnews
  540,  // uucp
  556,  // remotefs
  563,  // nntp+ssl
  587,  // stmp?
  601,  // ??
  636,  // ldap+ssl
  993,  // ldap+ssl
  995,  // pop3+ssl
  2049, // nfs
  3659, // apple-sasl / PasswordServer
  4045, // lockd
  6000, // X11
  6665, // Alternate IRC [Apple addition]
  6666, // Alternate IRC [Apple addition]
  6667, // Standard IRC [Apple addition]
  6668, // Alternate IRC [Apple addition]
  6669, // Alternate IRC [Apple addition]

http://www.cnblogs.com/liuxianan/p/err_unsafe_port.html

时间: 2025-01-21 04:44:51

记一次tomcat故障排查(转)的相关文章

Docker常见故障排查指南 - 阿里云容器服务

对于Docker的初学者而言,当容器或应用出现了问题不知从何入手进行排查.为此,我们准备了一个简单指南来帮助阿里云容器服务的用户进行故障排查. 由于阿里云容器服务完全兼容Docker Swarm,并支持使用原生Docker Client/API,所以很多内容对于 Docker/Docker Swarm的用户也是适用的. Docker问题分类 我们可以把Docker在使用中的问题分为如下几类, 安装故障:Docker Engine 无法正常配置使用 应用故障:应用执行状态与预期不一致 容器故障:无

一次线上OOM故障排查经过

转贴:http://my.oschina.net/flashsword/blog/205266   本文是一次线上OOM故障排查的经过,内容比较基础但是真实,主要是记录一下,没有OOM排查经验的同学也可以参考. 现象 我们之前有一个计算作业.最近经常出现不稳定,无法正常响应的情况.具体表现是:各种连接超时,从mysql.mongodb和zookeeper到netty,能超时的都超时过了.其他看不到太多有效的异常. 所以我们首先怀疑的是网络问题,打电话跟运维确认,运维说网络问题的可能性几乎为0,因

路由器界面打不开之现象与故障排查以及解决办法

路由器界面打不开怎么办?别担心,下面为您图文并茂的讲解. 1. 路由器界面打不开之现象与故障排查. 1) 请确认自己的线路是否连接正确,点击该链接查看线路连接是否正确. 2) 现象1:本地连接显示已连接,但是路由器管理界面还是打不开? 3) 现象2:输入原始密码admin怎么都进不了路由器界面,一直提示登录界面. 4) 现象3:登陆路由器管理界面显示"脱机工作"错误. 5) 现象4:登陆路由器管理界面时显示"拔号连接". 6) 现象5:登陆路由器管理界面时显示粉红色

PHP搭建与网页服务器故障排查

  一.对于php页面完全无法访问的情况 1.确认是php的问题还是iis等服务器的问题 判断方法,在目录下放一个静态文件,通过浏览器判断这个静态文件可否访问.若可以访问,即为php问题. 如果是IIS的问题,常见的有两种情况,一个判断的利器是telnet. linux的telnet其实更加好用,因为默认是打开回显的.而windows,则需要用 set localecho,否则看不到输入的文字 1.1 防火墙禁止80端口 进入telnet后,输入指令,open 域名 80 如:open www.

MPLS的网络故障排查综述

当MPLS网络进行故障排查的时候,应该遵循从控制平面和网络平面来进行故障排查. 再看看两个平面所做的事情吧. 上面是控制平面,下面是网络平面. 从转发平面也就是网络平面来说,只会有两种报文,入站为IP的分组,和入站为MPLS标签的分组,那么对应两种报文转发的时候也会有所区别,IP分组是路由转发表在进行转发,MPLS分组是LFIB--label forwarding information base在进行转发.路由转发表又是控制平面的路由表根据最优原则选举出来唯一的路径,标签转发表是依据LDP协议

MPLS LDP的故障排查

本文是关于MPLS LDP的故障排查. 两个设备建立直连LDP邻居: R2和R3.R2的interface Giga 2/0和R3的interface G1/0建立LDP的直连邻居. 首先,再回顾一下LDP的邻居建立过程: LDP实用的是UDP/TCP的端口646来发现邻居的.所以在今后的故障排查中,如果两端能ping通却建立不起邻居来,可以检查一下端口是否被封了. 这里显示了一个LDP邻居建立的所有过程. 当邻居建立好以后,就会间隔的发送hello报文过去进行探测对端的邻居是否还存在. 可以看

局域网有的电脑能上网有的不能上网故障排查案例

电脑上不去网原因有很多,主要还是要靠有经验的网管去一一排查,本篇文章为大家分享一个电脑上不去网的解决案例,故障排查的过程比较曲折,使用了好多办法都没用,最后才查出故障的原因是由于交换机设置不正确而导致端口短路,分享给大家,希望对遇到同样问题的人有所帮助. 故障现象 某单位局域网规模适中,大约有100台左右的普通客户机分布在四层楼中,每个楼层中的所有客户端系统都通过超五类网络线缆,连接到H3C S3050型号的楼层交换机中,各个楼层交换机又通过1000M光纤线缆与单位局域网的核心交换机相连,整个局

校园综合布线故障排查及解决方法

随着我国教育信息化的深入,各高等院校的网络建设发展日趋完善.经过十余年的建设,高校校园网覆盖面迅速扩大,建设水平逐步提高,应用面不断扩展,如今的校园网已和广大师生的工作.学习和生活紧密联系在一起.一方面校园网方便了师生通过互联网及时了解国内外资讯,有助于提高教学水平;另一方面,在校园网基础上优化.整合资源,建立数据中心,为高校的信息化建设提供基础平台.校园网为高校数字化校园创造了一个良好的支撑环境,在行政管理.科学研究.人才培养.学科建设和师生员工的课余生活等方面产生了深远的影响. 随着校园网的

从网络发展看无线网络故障排查需求

  一.当最后100米无线化 所有对网络故障维护有较长期经验的人都清楚,早期网络大概75%左右的故障来自于物理连接故障,也就是来自于网线或物理接口.后期伴随综合布线理念的贯彻与执行,制造工艺的提升,线缆与接口质量的提升,这一故障的比例大幅度降低了.那么当我们的最后100米无线化之后,网线和物理接口会出现什么样的情况呢? 1.1 灵活性的大跃进与技术本身的退步 首先我们应该有一个明确的认识,无线WLAN网络事实上是网络灵活性的提升和网络技术的倒退.从技术角度讲,WLAN本身将网络技术倒退了至少5-