首页 > golang > golang项目监听6000端口浏览器无法访问
2021
02-08

golang项目监听6000端口浏览器无法访问

背景


最近新开了一个项目 基于gin搭建,端口监听了6000,发现接口无法访问


谷歌浏览器报错如下:

image.png


问题分析


查看端口占用情况

netstat -lnp |grep 6000

windows 用下面的命令

netstat -ano | findstr "6000"


发现并没有被占用,程序启动也没有任何报错


其实不止 6000,如果你配置成 6666 ,也是无法访问成功的


首先,当我们将项目的端口设置为 6000 之后,并非仅仅只有 Chrome 无法访问,Firefox、Safari 也是无法访问的,反而是经常被大家忽略的坐在角落的 IE/Edge 这对难兄难弟可以访问!


看到这里,大家首先可以确认出现这个问题,和你的代码没有关系!是不是可以松一口气了!

这个问题实际上是由 Chrome 默认的非安全端口限制导致的,除了上文说的 6000,还有其他端口也无法在 Chrome 、Firefox 以及 Safari 中访问(具体端口见文末列表)。

这些无法访问的端口大部分都是小于 1024,小于 1024 的端口大家应该会很少使用,基本上不会在这个上面栽跟头。大于 1024 的端口也并非每一个都可以使用,这才是容易犯错的地方。

解决

1、修改项目端口(推荐)

2、修改浏览器配置,使之允许访问非安全端口


推荐大家使用第一种方案,省事!


如果要使用第二种方案: Chrome 修改办法如下


右键单击Chrome快捷方式 -> 目标 -> 末尾添加参数:--explicitly-allowed-ports=6000


image.png



Firefox 修改办法如下:

浏览器地址栏输入 about:config 打开配置页面,然后搜索 network.security.ports.banned.override ,将其值设为 6000 即可(如果没有则右键单击新建即可)。


受限端口列表:

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


本文》有 0 条评论

留下一个回复