一、服务端问题排查:
首先,我们对服务端进行了全面检查:
-
端口状态验证
使用命令lsof -i :87查看87端口占用情况,确认Nginx进程正常运行。 -
配置文件校验
在容器环境中执行nginx -t命令,验证Nginx配置文件的语法正确性。测试结果显示配置无误。 -
日志分析
查看access.log和error.log,发现没有任何记录,表明请求并未成功进入服务层面。
经过以上排查,初步判断问题不在服务端。
二、客户端:浏览器的安全拦截
当我们尝试通过浏览器访问服务时,遇到了关键的错误提示:ERR_UNSAFE_PORT

这提示我们,浏览器认为87端口是一个不安全的端口。进一步查阅资料后发现:
-
问题根源
Google Chrome等主流浏览器出于安全考虑,默认禁止使用特定的"非安全端口"来访问网络资源。 -
验证测试
使用其他浏览器(如Firefox)进行访问,发现问题仍然存在。这说明问题确实出在浏览器的安全策略上。
三、总结:
原来这次的罪魁祸首竟然是浏览器,由于Google Chrome一些限制,部分端口会不允许访问。
四、附录:
以下是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]
一、服务端问题排查:
首先,我们对服务端进行了全面检查:
-
端口状态验证
使用命令lsof -i :87查看87端口占用情况,确认Nginx进程正常运行。 -
配置文件校验
在容器环境中执行nginx -t命令,验证Nginx配置文件的语法正确性。测试结果显示配置无误。 -
日志分析
查看access.log和error.log,发现没有任何记录,表明请求并未成功进入服务层面。
经过以上排查,初步判断问题不在服务端。
二、客户端:浏览器的安全拦截
当我们尝试通过浏览器访问服务时,遇到了关键的错误提示:ERR_UNSAFE_PORT

这提示我们,浏览器认为87端口是一个不安全的端口。进一步查阅资料后发现:
-
问题根源
Google Chrome等主流浏览器出于安全考虑,默认禁止使用特定的"非安全端口"来访问网络资源。 -
验证测试
使用其他浏览器(如Firefox)进行访问,发现问题仍然存在。这说明问题确实出在浏览器的安全策略上。
三、总结:
原来这次的罪魁祸首竟然是浏览器,由于Google Chrome一些限制,部分端口会不允许访问。
四、附录:
以下是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]