坑爹坑娘坑祖宗的87端口(记一次tomcat故障排查)
参考:http://www.cnblogs.com/liuxianan/p/err_unsafe_port.html?ref=myread
问题来源
因为经常有各种各样的大小项目要跑,全部放一个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:87
、http://localhost:87
、http://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, // tcpmux7, // echo9, // discard11, // systat13, // daytime15, // netstat17, // qotd19, // chargen20, // ftp data21, // ftp access22, // ssh23, // telnet25, // smtp37, // time42, // name43, // nicname53, // domain77, // priv-rjs79, // finger87, // ttylink95, // supdup101, // hostriame102, // iso-tsap103, // gppitnp104, // acr-nema109, // pop2110, // pop3111, // sunrpc113, // auth115, // sftp117, // uucp-path119, // nntp123, // NTP135, // loc-srv /epmap139, // netbios143, // imap2179, // BGP389, // ldap465, // smtp+ssl512, // print / exec513, // login514, // shell515, // printer526, // tempo530, // courier531, // chat532, // netnews540, // uucp556, // remotefs563, // nntp+ssl587, // stmp?601, // ??636, // ldap+ssl993, // ldap+ssl995, // pop3+ssl2049, // nfs3659, // apple-sasl / PasswordServer4045, // lockd6000, // X116665, // Alternate IRC [Apple addition]6666, // Alternate IRC [Apple addition]6667, // Standard IRC [Apple addition]6668, // Alternate IRC [Apple addition]6669, // Alternate IRC [Apple addition]
坑爹坑娘坑祖宗的87端口(记一次tomcat故障排查)相关推荐
- SpringBoot 入坑(八)Docker 暴露端口 容器数据卷 基本使用
Docker端口+数据卷 1).暴露端口 2).容器数据卷使用 1).暴露端口 1.在不暴露端口的情况下启动tomcat docker run -d --name mTM01 tomcat 通过宿主机 ...
- Chrome浏览器87端口限制问题
背景 项目需要指定暴露端口,考虑到80容易被占用,就临时采用的87端口,但是服务启动后发现通过谷歌浏览器是打不开的,此时通过机器的命令行模式是可以请求的,而且通过Edge浏览器也是可以的,遂定位问题为 ...
- Cobalt Strike折腾踩坑填坑记录
文章目录 0X00 背景 0x01 基础原理 0x02 关于破戒 Exit暗桩 0x03 CDN+反代隐藏Teamserver Domain Fronting Proxy 0x04 DNS上线 一个未 ...
- hive 增加表字段语录_Hive改表结构的两个坑|避坑指南
Hive在大数据中可能是数据工程师使用的最多的组件,常见的数据仓库一般都是基于Hive搭建的,在使用Hive时候,遇到了两个奇怪的现象,今天给大家聊一下,以后遇到此类问题知道如何避坑! 坑一:改变字段 ...
- 【吐血经验】在 windows 上安装 spark 遇到的一些坑 | 避坑指南
在 windows 上安装 spark 遇到的一些坑 | 避坑指南 最近有个活:给了我一个阿里云桌面(windows 10系统),让我在上面用 scala + spark 写一些东西. 总是报错不断, ...
- Spark踩坑填坑-聚合函数-序列化异常
Spark踩坑填坑-聚合函数-序列化异常 一.Spark聚合函数特殊场景 二.spark sql group by 三.Spark Caused by: java.io.NotSerializable ...
- [iOS]贝聊 IAP 实战之见坑填坑
大家好,我是**贝聊科技** 的 iOS 工程师 @NewPan. 这次为大家带来我司 IAP 的实现过程详解,鉴于支付功能的重要性以及复杂性,文章会很长,而且支付验证的细节也关系重大,所以这个主题会 ...
- 启动两个tomcat,两个端口,两个tomcat都启动时回显示端口被占用
启动两个tomcat,两个端口,两个tomcat都启动时回显示端口被占用,如图下 步骤: 使用两个tomcat,其中一个可以默认不修改 对另外一个tomcat,打开conf下的server.xml文件 ...
- LAN9252 out端口识别不到的原因排查
LAN9252 out端口识别不到的原因排查(干货) 遇到的现象 TwinCAT 3识别不到下一级从站,out端口有问题 排查可能原因 捕获了out端口发出的波形失真 lan9252的65脚接地,没焊 ...
最新文章
- Eclipse使用Maven时出现:Index downloads are disabled, search results may be incomplete.问题解决...
- linux nginx 安装stream,Centos7下Nginx简单搭建与stream模块简单配置
- VC Studio 使用技巧大全
- 假期要如何过才有意义
- GDAL矢量图层裁剪为矢量网格(java)
- typora最好用的主题_推荐一款超好用Markdown编辑器-Typora
- 时间序列(一):时间序列数据与时间序列预测模型
- 安卓手机修改ip软件_为什么苹果手机不用杀毒软件?安卓表示要哭了
- 「技术架构」TOGAF建模:环境和位置图
- Apple Pay编程指南(5) - 处理付款结果
- 智课雅思词汇---十一、spect是什么意思
- 败走中国,是亚马逊们的宿命
- [CDOJ 5] Diligent Boys Don’t Love [动态规划]
- 华农计算机软件就业,华农17届就业报告出炉!毕业生月薪集中在4-6k!
- linux软路由 iptv,软路由实现任意端口看IPTV电视的方法
- c++ 实现贪吃蛇(含技术难点解析和完整代码)
- 解决MPx 无法在windows下运行
- 区块链项目如何开发?区块链APP和DAPP怎么做?
- python处理脱敏问题
- c++ 使用nacos_Nacos入门
热门文章
- 加载XML 添加删除节点
- c语言实验七 函数实验报告,C语言实验七函数实验报告.doc
- guestbook.php注入,TinyGuestBook 'sign.php'多个SQL注入漏洞
- linux 格式化磁盘数据恢复_电脑文档被格式化,怎么恢复格式化文档!
- 模拟电路基础秦世才_模拟电路电子技术基础知识
- Linux — OpenSSH 安全的远程连接
- 程序员的快速开发框架:Github上 10 大优秀的开源后台控制面板
- shell脚本--02循环与条件
- 摩拜联合微信全国免押金骑行 这样的CP组合可以多来一点
- 非微信打开不显示页面