起因是有粉絲加我好友詢問關于建站無法訪問的問題,,檢查之后發(fā)現是端口的問題,,雖然以前建站文章寫的已經比較詳細了,多篇文章里都只言片語提到過端口,,但沒詳細說過,,所以抽空就解釋下端口。 眾知建站三要素:域名,、空間、程序,。 空間就相當于一個房間,,用來存放程序。當我們開通服務器后都會有一個固定的ip,,通過這個IP地址即可訪問我們存放在空間的程序,。但是,一串串數字不容易被記憶,,于是就有了域名的存在,,通過ip綁定域名后,即可通過記憶性更強的域名訪問網站,。就算換了空間,,只要域名還在,就可再次訪問到網站,。 而空間,,就相當于一個房間,這個房間有(2^16)個門,,通過不同的門來傳送不同的數據,。 而這個門,,就是端口,英文port,,是設備與外界通訊交流的出口,。 如上圖,,ip地址樣式,,后面的:80即為端口。 而不同的端口有著不同的作用,,80端口是HTTP傳輸信息的協議端口,。 正常性況下80端口自動隱藏,也就是說,,當我們訪問一些http網站時,,其實域名后綴都有:80。只不過這個端口不需要輸入而已,。 以阿里云服務器為類,當我們新建一個服務器時,,后臺只有三個默認的端口 3389:遠程服務器端口,。 22:ssh(安全外殼協議)端口。 -1:java.net.URL.getPort()規(guī)定,,若URL的實例未申明(省略)端口號,,則返回值為-1(具體是啥這個我也不是很清楚,網上找的解釋),。 只是這幾個端口,,程序上傳后當然無法訪問,所以,,我們還需要手動添加端口,。 80:用于HTTP服務提供訪問功能,。443:用于HTTPS服務提供訪問功能。也就是說,,如果你的網站只是通過HTTP訪問,,只需添加80端口即可。如果網站添加了SSL證書,,通過HTTPS訪問,,就需要添加443端口。 一般來說,,添加上面兩個端口就夠了,,但根據網站不同程序還有其他端口需要添加,。如:寶塔端口 888:寶塔phpmyadmin端口,。8888:寶塔服務器后臺端口,。 如果未使用寶塔,可以不添加此端口,。 其他還有,,如: 有人會說,,端口設置這么麻煩,為什么不能全部開放,。就像前面的比喻,,每個端口都像一扇門,多開一扇門就多一道被入侵的風險,。 向我這種小站,,如果只是來盜取些數據還沒什么,畢竟沒開放注冊,,也沒用戶信息之類的,。最麻煩的是被植入病毒,尤其是一些篡改類的木馬,,將你的網站篡改到一些黃賭毒的站點上,,如果不及時處理,作為管理者,,小心被網警約談,。 一般來說,就上面這些端口,,也沒必要全部開放,,還是要看實際需求。 |
|