“网页打不开”可能出在不同层:服务没监听、网络路径不通、请求到了错误站点,或者应用返回了错误状态码。先把它们区分开,能少走很多弯路。
先确认服务有没有监听
ss -lntp
ss -lntp '( sport = :80 or sport = :443 )'-l 看监听,-n 显示数字端口,-t 限定 TCP,-p 尝试显示进程。普通用户可能看不到别人的进程名。留意监听地址:127.0.0.1:80 只接受本机访问,0.0.0.0:80 通常接受所有 IPv4 地址上的连接。
再从本机发 HTTP 请求
curl -I --max-time 5 http://127.0.0.1/
curl -sv --max-time 5 -o /dev/null https://example.com/第一条只请求响应头;少数服务不支持 HEAD,遇到 405 时可改用普通 GET。第二条显示连接、TLS 与响应细节,同时把响应正文丢弃。请把 example.com 换成自己的域名。调试输出可能包含请求头或令牌,不要原样贴到公开评论区。
根据结果缩小范围
Connection refused:目标地址可达,但该端口没有服务接受连接,或被主动拒绝。Connection timed out:先查网络路径、防火墙或云平台安全组。- HTTP
404:连接和 HTTP 已成功,重点检查路径或虚拟主机。 - HTTP
502:常见于代理无法正常访问上游服务,继续看代理和应用日志。
如果服务器上有多个站点,本机 curl 127.0.0.1 可能落到默认站点;验证目标站点时还要核对 Host、协议和端口。最后记录“在哪一层失败”,比一句“网站挂了”更有用。
封面插画:unDraw(https://undraw.co/license)。
保留域名测试本机 HTTPS
直接请求 HTTPS IP 可能触发证书域名不匹配;只设置 Host 头也不能完整替代 TLS SNI。针对本站可使用 curl --resolve yuanty.ltd:443:127.0.0.1 --max-time 10 https://yuanty.ltd/typecho/ -o /dev/null -sS -w '%{http_code}\n'。这保留域名与证书验证,仅将连接地址定向本机。它绕过公网路径,不能证明外部访客一定可达。
内容复核与修订:2026-10-29。实验示例与本站运行记录分别说明;原始归档日期保留。
评论 (0)