讀萬卷書,行萬里路!有的技能可以從書里學會,有的技能卻需要在實戰中打怪升級慢慢掌握,今天就來和大家聊一個很多小伙伴經常遇到的問題。
緣起
有人向松哥反映,在搭建微服務分布式配置中心 Spring Cloud Config 時,如果將端口設置為 6000,總是訪問不成功,像下面這樣:

如果換成 Tomcat 默認的 8080 就可以訪問了。
其實不止 6000,如果你配置成 6666 ,也是無法訪問成功的!
分析
剛入行或者經驗欠缺的小伙伴應該很容易遇到這個問題,松哥就來和大家稍微說一說這個問題。
首先,當我們將項目的端口設置為 6000 之后,並非僅僅只有 Chrome 無法訪問,Firefox、Safari 也是無法訪問的,反而是經常被大家忽略的坐在角落的 IE/Edge 這對難兄難弟可以訪問!看看 Safari 訪問 6000 端口怎么說:

再看看 Firefox 訪問 6000 端口怎么說:

但是 Edge 就可以訪問,如下:

看到這里,大家首先可以確認出現這個問題,和你的代碼沒有關系!是不是可以松一口氣了!
這個問題實際上是由 Chrome 默認的非安全端口限制導致的,除了上文說的 6000,還有其他端口也無法在 Chrome 、Firefox 以及 Safari 中訪問(具體端口見文末列表)。
這些無法訪問的端口大部分都是小於 1024,小於 1024 的端口大家應該會很少使用,基本上不會在這個上面栽跟頭。大於 1024 的端口也並非每一個都可以使用,這才是容易犯錯的地方。
解決
那么問題要怎么解決呢?兩個思路:
- 修改項目端口(推薦)
- 修改瀏覽器配置,使之允許訪問非安全端口
推薦大家使用第一種方案,省事!
如果要使用第二種方案:
- Chrome 修改辦法如下:
右鍵單擊Chrome快捷方式 -> 目標 -> 末尾添加參數:--explicitly-allowed-ports=6000

- Firefox 修改辦法如下:
瀏覽器地址欄輸入 about:config 打開配置頁面,然后搜索 network.security.ports.banned.override ,將其值設為 6000 即可(如果沒有則右鍵單擊新建即可)。

受限端口列表:
| 端口 | 原因 |
|---|---|
| 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] |
好了,這就是本文和大家聊的瀏覽器的一個小小的坑,希望能幫助到經驗欠缺的小伙伴。有問題歡迎留言討論。
最新版 Spring Boot2.1.5 案例:https://github.com/lenve/javaboy-code-samples ,歡迎大家 star。
關注公眾號【江南一點雨】,專注於 Spring Boot+微服務以及前后端分離等全棧技術,定期視頻教程分享,關注后回復 Java ,領取松哥為你精心准備的 Java 干貨!

