晚上 21:00,用户群炸锅: “小程序打不开图片了!” “网页白屏!” 我打开监控,发现所有 境外 HTTPS 请求 443 端口集体 Timeout,境内服务安然无恙。 ——得,经典“被墙”套餐。
条目 | 值 |
---|---|
出口 | 阿里云香港 ECS → 上海办公区 |
协议 | HTTPS(TLS1.3) |
端口 | 443(废话) |
域名 | cdn.anonl.cn(示例) |
证书 | Let's Encrypt 通配符,离过期 47 天,排除证书锅 |
客户端 | 全国三大运营商 + 海外 CDN 节点 |
# 1. 本地 dig 一把
dig cdn.anonl.cn +short
104.21.4.99 # Cloudflare IP,正常
# 2. curl 直接测
curl -I https://cdn.anonl.cn/logo.png
# hangs 30 s → Connection timed out
# 3. 换 80 端口
curl -I http://cdn.anonl.cn/logo.png
# 200 OK,瞬间返回
结论:80 能通,443 被丢包,典型的“协议阻断”。
时间 | 操作 | 结果 |
---|---|---|
21:10 | Zabbix 触发“境外 HTTPS 响应时间 > 30 s”告警 | 值班手机震到桌脚 |
21:15 | 全国拨测平台 → 选 20 个节点 | 电信/移动/联通 443 全红,海外节点全绿 |
21:20 | mtr -P 443 -T cdn.anonl.cn | 跳点 4(202.97.x.x)之后丢包 100% |
21:25 | openssl s_client -connect | 第一次握手 ClientHello 发出去无响应 |
21:30 | 换 IP 复测 | 把域名解析到 172.67.209.53 → 依旧 timeout |
21:35 | 改 Hosts 走境内 CDN | 秒开,确认业务无宕机 |
21:40 | 官方工单 | 阿里云回复:“非我司骨干问题,建议检查是否命中运营商管控策略。”(甩锅成功) |
cdn.anonl.cn
改成 假域名 cdn.anonl.xyz
(境外解析相同 IP)→ 立即复活实锤:SNI 字段命中了某关键字,被 RST 复位。
方案 A: 域前置(Domain Fronting)——用 Cloudflare 的大牌域名当跳板
Client Hello SNI = cf-cache.xxxxx.com
Host 头 = cdn.anonl.cn
成本 0,5 分钟生效,甲方先睡觉。
方案 B: 境内 CDN 全量接管——把图片预热到阿里云 CDN,443 走国内节点,境外源站当备份。 (次日白天再搞,省的半夜背锅)
mtr
+ openssl s_client
三板斧,10 分钟锁定丢包点#!/bin/bash
domain=$1
echo | timeout 3 openssl s_client -connect ${domain}:443 -servername ${domain} 2>/dev/null
if [ $? -ne 0 ]; then
echo "${domain} 443 被墙 or 服务挂"
else
echo "${domain} 443 正常"
fi
保存为 wall-or-not.sh
,以后值班先跑一遍,别再背冤枉锅。
凌晨 2:30,甲方在群里回复: “图片又能看了,你们运维真玄学。” 我默默把聊天记录截图扔进“年度背锅图鉴”。
443 端口不会无缘无故消失,它只是在 GFW 的黑名单里旅了个游。 记住这篇流水账,下次 10 分钟定位,5 分钟止血,剩下的时间—— 去睡觉,别和墙较劲。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。