如果云服務(wù)器無法對外提供 HTTP 服務(wù),可以按以下思路檢查 Web 服務(wù)相關(guān)接口(默認(rèn)為TCP 80)是否正常工作:
1. 在控制臺,確認(rèn)安全組已經(jīng)放行該端口。
2. 遠(yuǎn)程連接云服務(wù)器,確認(rèn)服務(wù)已經(jīng)開啟。
3. 確認(rèn)端口正常被監(jiān)聽。如沒有,請修改監(jiān)聽地址。
4. 確認(rèn)云服務(wù)器防火墻已經(jīng)放行服務(wù)。
5. 若仍無法解決,請?zhí)峤还巫稍儭?/p>
本文提供在 Windows Server 2012 和 CentOS 7.3 中檢查 TCP 80 端口是否正常工作的方法。
Windows Server 2012
本文在 Windows 2012 系統(tǒng)的 Windows 云服務(wù)器中安裝 IIS 服務(wù)為例。
1. 登錄控制臺,確認(rèn)云服務(wù)器所在安全組里已經(jīng)添加以下安全組規(guī)則:
規(guī)則方向 | 協(xié)議 | 端口范圍 | 授權(quán)對象 |
入方向 | HTTP | 80 | 0.0.0.0/0 |
2. 遠(yuǎn)程登錄 Windows 云服務(wù)器。
3. 查看 IIS 服務(wù)是否已經(jīng)開啟:
3.1 在【服務(wù)器管理器】窗口,單擊 工具 > Internet Information Services (IIS)管理器。如果找不到這個選項,則說明沒有成功安裝 IIS 服務(wù),需要重新安裝 IIS 服務(wù)。
3.2 在 Internet Information Services (IIS)管理器 窗口中確認(rèn)以下信息:
● 在連接導(dǎo)航欄里,右鍵單擊實例 ID,如果啟動處于灰色狀態(tài),表示 IIS 服務(wù)已經(jīng)開啟。
● 單擊網(wǎng)站,在右邊列表頁查看您安裝的網(wǎng)站的狀態(tài)。如果網(wǎng)站狀態(tài)為已停止,則單擊網(wǎng)站,在右側(cè)操作欄的管理站點部分,單擊啟動,啟動網(wǎng)站。
4. 以下是查看端口在實例中是否正常被監(jiān)聽的操作步驟:
啟動命令提示符。執(zhí)行以下命令。
netstat -ano | findstr :80
如果返回類似 TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4,則說明 80 端口正常全網(wǎng)監(jiān)聽。如果返回的不是該端口,請在 Internet Information Services (IIS)管理器 窗口中,單擊指定網(wǎng)站,然后單擊右側(cè) 操作 欄中的 綁定,將綁定的端口該為 80 端口。
5. 查看防火墻是否已經(jīng)放行Web服務(wù):
5.1 單擊控制面板>系統(tǒng)與安全>Windows 防火墻。
5.2 根據(jù)防火墻狀態(tài),執(zhí)行不同操作。
● 如果防火墻處于關(guān)閉狀態(tài),不需要再做其他處理。如果仍無法訪問網(wǎng)站,請提交工單咨詢。
● 如果防火墻處于開啟狀態(tài),則執(zhí)行以下操作。
○ 單擊 高級設(shè)置。
○ 在彈出窗口的左側(cè)導(dǎo)航欄中,單擊 入站規(guī)則。
○ 選擇 萬維網(wǎng)服務(wù)(HTTP 流入量),如果處于禁用狀態(tài),在 操作 欄里,單擊 啟用規(guī)則。
6. 完成上述檢查,如果仍不能訪問實例,請提交工單咨詢。
CentOS 7.3
以在CentOS 7.3系統(tǒng)的Linux實例中安裝Nginx服務(wù)為例。
1. 登錄控制臺,確認(rèn)實例所在安全組里已經(jīng)添加以下安全組規(guī)則。
規(guī)則方向 | 協(xié)議 | 端口范圍 | 授權(quán)對象 |
入方向 | HTTP | 80 | 0.0.0.0/0 |
2. 遠(yuǎn)程登錄 Linux 云服務(wù)器。
3. 執(zhí)行以下運(yùn)行命令。
systemctl status nginx
如果系統(tǒng)返回類似如下,則說明 Nginx 已經(jīng)啟動。如果未開啟,則執(zhí)行 systemctl start nginx 命令。
4. 執(zhí)行以下命令,查看端口在實例中是否正常被監(jiān)聽:
netstat -an | grep 80
如果返回 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN,則說明 80 端口正常全網(wǎng)監(jiān)聽。如果返回的不是上述結(jié)果,請修改監(jiān)聽地址。
5. CentOS 7 之后的版本默認(rèn)安裝 Firewalld 。如果已經(jīng)啟用 firewalld.service,則需要放行 TCP 80 端口。執(zhí)行以下命令。若返回結(jié)果為 success,則表示已經(jīng)放行 TCP 80 端口。
firewall-cmd --add-port=80/tcp --permanent
注意:
使用 CentOS 7 之前的版本并開啟默認(rèn)防火墻 iptables 時,應(yīng)注意 iptables 默認(rèn)不攔截訪問,如果配置了 iptables 規(guī)則,需要執(zhí)行以下步驟。
● 查看規(guī)則列表:執(zhí)行命令 iptables --line -vnL。根據(jù)返回結(jié)果執(zhí)行不同操作。
○ 如果設(shè)置了默認(rèn)攔截,添加規(guī)則放行 TCP 80端口。執(zhí)行命令 iptables -A INPUT -p tcp --dport 80 -j ACCEPT
○ 如果設(shè)置了 DROP TCP 80 端口,替換規(guī)則放行 80 端口。執(zhí)行命令 iptables -R INPUT [80端口對應(yīng)的規(guī)則編號] -p tcp --dport 80 -j ACCEPT
● 保存上述規(guī)則,執(zhí)行命令 service iptables save
完成上述檢查,如果仍不能訪問實例,請提交工單咨詢。