Chrome错误代码:ERR_UNSAFE_PORT

当时只是觉得6666比较省事…就引发了这个问题。

HTTP Server

临时需要一个Web Server给内网其他机器共享文件使用,那么最简单的就是使用Python了,只需要一行命令:

1
2
3
4
$ cd share
$ python2 -m SimpleHTTPServer 8080

$ python3 -m http.server 8080

那么share目录下的文件就可以共享给其他人下载使用了。

问题

由于8000、8080等端口已有其他服务占用,就使用了6666端口,但是…当在浏览器中访问http://192.168.1.2:6666时,Chrome提示:

1
2
网址为 http://192.168.1.2:6666/ 的网页可能暂时无法连接,或者它已永久性地移动到了新网址。
ERR_UNSAFE_PORT

用Firefox访问时提示:

1
此网址使用了一个通常用于网络浏览以外目的的端口。出于安全原因,Firefox 取消了该请求。

好的,我先换个其他端口用。

填坑

那么,当使用6666端口的时候发生了什么,查了一下ERR_UNSAFE_PORT,出现该问题的原因主要是因为6666-6669这几个端口是IRC协议使用的缺省端口,存在很大的安全风险,出于安全考虑,Chrome、Firefox都禁止了对6666端口的访问。

那么如果一定要使用6666端口呢?

我使用的系统是Windows 10,使用Chrome版本为74.0.3729.169,方法如下:

1
Google Chrome的图标->右键->属性->目标

在目标值后面追加:

1
--explicitly-allowed-ports=6666

如果有多个值的话,用逗号隔开即可,关闭浏览器,重启启动,此时访问http://192.168.1.2:6666/ 就可以下载相应的文件了。

使用Firefox的话,可以通过如下方式解决:
在Firefox地址栏输入about:config,右键->新建一个字符串键network.security.ports.banned.override,值的内容填端口号6666,需要放行多个端口的话使用逗号隔开。

出于安全考虑,还是应该更换端口,不可能其他机器都如此设置,增大安全风险。

另外,Chrome认为有风险进行阻断的端口在Chromium源码中已经列出,使用时要注意规避:
https://chromium.googlesource.com/chromium/src.git/+/refs/heads/master/net/base/port_util.cc

参考:

https://superuser.com/questions/188006/how-to-fix-err-unsafe-port-error-on-chrome-when-browsing-to-unsafe-ports

https://superuser.com/questions/188058/which-ports-are-considered-unsafe-by-chrome

0%