参考: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: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,    // 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故障排查)相关推荐

  1. SpringBoot 入坑(八)Docker 暴露端口 容器数据卷 基本使用

    Docker端口+数据卷 1).暴露端口 2).容器数据卷使用 1).暴露端口 1.在不暴露端口的情况下启动tomcat docker run -d --name mTM01 tomcat 通过宿主机 ...

  2. Chrome浏览器87端口限制问题

    背景 项目需要指定暴露端口,考虑到80容易被占用,就临时采用的87端口,但是服务启动后发现通过谷歌浏览器是打不开的,此时通过机器的命令行模式是可以请求的,而且通过Edge浏览器也是可以的,遂定位问题为 ...

  3. Cobalt Strike折腾踩坑填坑记录

    文章目录 0X00 背景 0x01 基础原理 0x02 关于破戒 Exit暗桩 0x03 CDN+反代隐藏Teamserver Domain Fronting Proxy 0x04 DNS上线 一个未 ...

  4. hive 增加表字段语录_Hive改表结构的两个坑|避坑指南

    Hive在大数据中可能是数据工程师使用的最多的组件,常见的数据仓库一般都是基于Hive搭建的,在使用Hive时候,遇到了两个奇怪的现象,今天给大家聊一下,以后遇到此类问题知道如何避坑! 坑一:改变字段 ...

  5. 【吐血经验】在 windows 上安装 spark 遇到的一些坑 | 避坑指南

    在 windows 上安装 spark 遇到的一些坑 | 避坑指南 最近有个活:给了我一个阿里云桌面(windows 10系统),让我在上面用 scala + spark 写一些东西. 总是报错不断, ...

  6. Spark踩坑填坑-聚合函数-序列化异常

    Spark踩坑填坑-聚合函数-序列化异常 一.Spark聚合函数特殊场景 二.spark sql group by 三.Spark Caused by: java.io.NotSerializable ...

  7. [iOS]贝聊 IAP 实战之见坑填坑

    大家好,我是**贝聊科技** 的 iOS 工程师 @NewPan. 这次为大家带来我司 IAP 的实现过程详解,鉴于支付功能的重要性以及复杂性,文章会很长,而且支付验证的细节也关系重大,所以这个主题会 ...

  8. 启动两个tomcat,两个端口,两个tomcat都启动时回显示端口被占用

    启动两个tomcat,两个端口,两个tomcat都启动时回显示端口被占用,如图下 步骤: 使用两个tomcat,其中一个可以默认不修改 对另外一个tomcat,打开conf下的server.xml文件 ...

  9. LAN9252 out端口识别不到的原因排查

    LAN9252 out端口识别不到的原因排查(干货) 遇到的现象 TwinCAT 3识别不到下一级从站,out端口有问题 排查可能原因 捕获了out端口发出的波形失真 lan9252的65脚接地,没焊 ...

最新文章

  1. Eclipse使用Maven时出现:Index downloads are disabled, search results may be incomplete.问题解决...
  2. linux nginx 安装stream,Centos7下Nginx简单搭建与stream模块简单配置
  3. VC Studio 使用技巧大全
  4. 假期要如何过才有意义
  5. GDAL矢量图层裁剪为矢量网格(java)
  6. typora最好用的主题_推荐一款超好用Markdown编辑器-Typora
  7. 时间序列(一):时间序列数据与时间序列预测模型
  8. 安卓手机修改ip软件_为什么苹果手机不用杀毒软件?安卓表示要哭了
  9. 「技术架构」TOGAF建模:环境和位置图
  10. Apple Pay编程指南(5) - 处理付款结果
  11. 智课雅思词汇---十一、spect是什么意思
  12. 败走中国,是亚马逊们的宿命
  13. [CDOJ 5] Diligent Boys Don’t Love [动态规划]
  14. 华农计算机软件就业,华农17届就业报告出炉!毕业生月薪集中在4-6k!
  15. linux软路由 iptv,软路由实现任意端口看IPTV电视的方法
  16. c++ 实现贪吃蛇(含技术难点解析和完整代码)
  17. 解决MPx 无法在windows下运行
  18. 区块链项目如何开发?区块链APP和DAPP怎么做?
  19. python处理脱敏问题
  20. c++ 使用nacos_Nacos入门

热门文章

  1. 加载XML 添加删除节点
  2. c语言实验七 函数实验报告,C语言实验七函数实验报告.doc
  3. guestbook.php注入,TinyGuestBook 'sign.php'多个SQL注入漏洞
  4. linux 格式化磁盘数据恢复_电脑文档被格式化,怎么恢复格式化文档!
  5. 模拟电路基础秦世才_模拟电路电子技术基础知识
  6. Linux — OpenSSH 安全的远程连接
  7. 程序员的快速开发框架:Github上 10 大优秀的开源后台控制面板
  8. shell脚本--02循环与条件
  9. 摩拜联合微信全国免押金骑行 这样的CP组合可以多来一点
  10. 非微信打开不显示页面