网页打不开怎么查:用 ss 和 curl 分清端口与 HTTP

阿远
2026-10-26 / 0 评论 / 17 阅读 / 正在检测是否收录...

“网页打不开”可能出在不同层:服务没监听、网络路径不通、请求到了错误站点,或者应用返回了错误状态码。先把它们区分开,能少走很多弯路。

先确认服务有没有监听

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、协议和端口。最后记录“在哪一层失败”,比一句“网站挂了”更有用。

参考:ss 手册 · curl 官方手册

封面插画: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。实验示例与本站运行记录分别说明;原始归档日期保留。
1

评论 (0)

取消