阿里云云服务器的端口配置问题
心血來潮花了9塊9(學生價)買了個阿里云。因為后端只會一點 Node,所以上來第一件事就是按照官方教程把部署 Node 項目這個教程擼了一遍。
問題描述
官方教程代碼
const http = require('http'); const hostname = 'ECS公網IP地址'; // 這里把文字換成自己的公網IP地址 const port = 3000; const server = http.createServer((req, res) => {res.statusCode = 200;res.setHeader('Content-Type', 'text/plain');res.end('Hello World\n'); }); server.listen(port, hostname, () => {console.log(`Server running at http://${hostname}:${port}/`); });一段簡單最簡單的 Node http服務器,成功運行后可以在頁面輸出 Hello World。
報錯
報錯了,因為之前寫node只需要監(jiān)聽端口,沒必要把IP地址也給寫進去,所以我刪了hostname,改成下面這樣。
const http = require('http'); const hostname = 'ECS公網IP地址'; // 這里把文字換成自己的公網IP地址 const port = 3000; const server = http.createServer((req, res) => {res.statusCode = 200;res.setHeader('Content-Type', 'text/plain');res.end('Hello World\n'); }); server.listen(port, () => {console.log(`Server running at http://${hostname}:${port}/`); });運行成功,但是在外網用瀏覽器輸入IP地址之后無法訪問。
問題分析
curl ip.cn
查詢當前外網IP,沒有問題,與阿里云提供的一致。
ping www.baidu.com
服務器可以訪問外網
curl http://127.0.0.1:3000
正確輸出 "Hello World",說明代碼的編寫沒有問題。
代碼沒問題,服務器網絡沒問題,ip地址沒問題。我估計應該是防火墻把端口禁掉了。
關閉防火墻
身為小菜鳥,第一時間想到的就是把服務器的防火墻關掉。我的服務器是 CentOS7.0 ,與6.0不一樣,CentOS7.0默認使用 firewall 作為防火墻。
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止開機啟動firewall
firewall-cmd --state #查看防火墻狀態(tài),已經處于關閉狀態(tài)
開Node服務器,瀏覽器訪問還是失敗。
好像沒招了,問小伙伴,他們說可能是沒有備案的原因。但是沒備案的小伙伴說他用得好好的,而且我就買了一個月的服務器,再等半個月備案我也不需要用了。正打算放棄問客服,小伙伴說你裝個Nginx試試,只要正確運行Nginx而且服務器沒問題直接訪問IP地址就能出現(xiàn)Nginx首頁了。
安裝 Nginx
CentOS有兩種方法安裝Nginx,具體的自行谷歌吧。
安裝完成,運行成功。
瀏覽器訪問公網IP,無法訪問。
從吃完中午飯13:00一直折騰到下午6:30左右,一動不動坐凳子上5個多小時了,不行了,休息吃完飯去。
解決
既然Nginx正確運行,那只剩兩個問題了,一個是沒有備案,不過這個問題的可能性很小很小。還有一點就是雖然我CentOS上把防火墻關了,但云服務器上阿里云應該會有一些安全措施,導致一部分端口被禁,或者壓根就沒有把端口打開。
吃完飯,散完步,我就在云服務器控制臺里一個一個的找,發(fā)現(xiàn)安全組里點擊配置規(guī)則后有一個安全組規(guī)則,里面通過添加安全組規(guī)則可以開放需要用到的端口。默認只打開了兩個端口。
總結
這是一個簡單的問題,不過需要一步步排除掉可能的原因。
如果身邊有個后端或者運維的小伙伴在的話,應該可以很快意識到這個問題。獨狼是走不遠的,至少是走不快的。
其實在購買時就可以選取要開放的端口,第一次嘛,沒有經驗,都是直接默認選項。怪不得小伙伴說他服務器的配置都沒有動過,應該是購買的時候就已經設置好的。
趁年輕,多踩坑。
博客首發(fā)地址:https://www.jianshu.com/u/13cd86311525
轉載于:https://www.cnblogs.com/chaohangz/p/6893949.html
總結
以上是生活随笔為你收集整理的阿里云云服务器的端口配置问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 想了解概率图模型?你要先理解图论的基本定
- 下一篇: 前端学习 -- HtmlCss -- 框