localhost、域名 均可打開網站。ping 域名、ping 服務器公網 IP 通。ping 通 = ICMP 達 + 域名解析正常。
瀏覽器打不開 = **TCP 80/443 端口不可達**。
# CentOS/RHEL 7+ (firewalld)
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
# Ubuntu (ufw)
ufw allow 80/tcp
ufw allow 443/tcp
ufw reload
# 萬網/阿里雲/騰訊雲/華為雲:控制台「安全組」/「防火牆」需單獨放行 80/443 入站!
# Nginx 錯誤配置
server {
listen 127.0.0.1:80; # ❌ 僅本機可訪問
...
}
# 正確
server {
listen 80; # ✅ 監聽所有接口 0.0.0.0:80
# 或
listen 0.0.0.0:80;
...
}
# Apache (httpd.conf)
Listen 127.0.0.1:80 → Listen 80
# Java (Spring Boot / Tomcat)
server.address=0.0.0.0 # application.properties
# 或 server.xml:
nslookup 域名、dig 域名 檢查是否解析到正確公網 IP。hosts 文件映射域名 → 公網 IP,若能訪問則為 DNS 緩存問題。# 服務器上:確認進程監聽
netstat -ntlp | grep :80
ss -ntlp | grep :80
# 外網機器:測試 TCP 連通性
telnet 公網IP 80
nc -zv 公網IP 80
curl -I https://公網IP # 直接用 IP 測試,排除 DNS
# 檢查防火牆狀態
firewall-cmd --list-all
ufw status
iptables -L -n
本機可訪問、外網不可訪問,**90% 是防火牆(含雲廠商安全組)未放行 80/443,或 Web 服務綁定了 127.0.0.1**。依次排查:雲控制台安全組 → 服務器防火牆 → Web 服務 listen 地址 → 端口映射 → DNS 緩存,通常 5 分鐘內定位解決。