CDN 回源测试源站

version=1.2.0  |  已运行 1h30m34s  |  累计请求 426

本次回源请求

方法GET
URL/
协议HTTP/1.1
Hostttt.165668.com
客户端 IP216.73.216.220
remote_addr47.86.20.215:23258
服务端地址163.47.134.159:12315
协议HTTP/1.1
Alt-Svc

CDN 相关头

X-Forwarded-For216.73.216.220
X-Forwarded-Hostttt.165668.com
X-Forwarded-Protohttps

全部请求头

Aabbccdd1122333
Accept*/*
Accept-Encodinggzip, br, zstd, deflate
User-AgentMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
X-Forwarded-For216.73.216.220
X-Forwarded-Hostttt.165668.com
X-Forwarded-Port443
X-Forwarded-Protohttps

基础

GET 回显
/echo?a=1
返回请求详情 JSON(方法/IP/Header/Body)
全部请求头
/headers
纯文本输出请求头
文本响应
/text
text/plain 200
指定状态码
/status?code=404
验证 CDN 错误页与状态透传
延迟响应
/delay?ms=3000
验证回源超时/重试
空响应
/empty
Content-Length: 0

缓存

缓存 + ETag
/cache?key=ui&ttl=60
两次请求观察 X-Origin-Hit 是否增长
Vary: Accept-Encoding
/cache?key=ui2&vary=1
验证 CDN 是否按 Vary 分键
Gzip 固定内容
/gzip
验证 CDN 是否二次压缩
Accept-Encoding 回显
/encoding?gzip=1
验证压缩透传
分片下载
/range?size=1048576
支持 Range/206/Content-Range
大文件 10MB
/file?size=10485760
回源带宽与断点续传
大文件限速 5MB/s
/file?size=20971520&rate=5
验证 CDN 缓存不完整文件的处理
Chunked 响应
/chunked
无 Content-Length
超长响应头
/big-header?n=8000
验证 CDN 头长度限制

协议

跳转 302
/redirect?to=/target
验证 CDN 是否跟随回源跳转
跳转链 3 次
/redirect?times=3
验证跳转次数限制
CORS 预检
/cors
OPTIONS 预检响应头
Cookie 透传
/cookie?set=1
验证 Cookie/Set-Cookie 是否被剥离
回源环路检测
/bounce
查看 cdn-loop / Via / XFF 层数
反向代理自测
/proxy?url=/echo
验证回源 Host/SNI 设置

流式

SSE 事件流
/sse?count=10&interval=1s
验证 CDN 是否缓冲流式响应
SSE 永不结束
/sse?count=0&heartbeat=15s
长时间连接与心跳
分块流
/stream?count=5&interval=500ms
流式传输
慢速写响应
/slow-write?chunks=10&delay=1s
验证 CDN 首字节超时

异常

回源中断(短包)
/bad?mode=short
Content-Length 不匹配,CDN 应判失败
回源 RST
/bad?mode=reset
连接被重置
回源挂起
/bad?mode=hang
源站不响应
慢速读取 body
/slow-read?bytes=1&delay=100ms
慢速攻击防护

协议

协议探测
/proto
返回本次回源使用的 HTTP/1.1 / HTTP/2 / HTTP/3、h2c 判定
gRPC 说明
/grpc-info
gRPC 服务与方法列表(cdn.probe.v1.Probe)
分片指纹
/range-info?size=1048576
每段 md5 + 全量 md5,校验分片拼接

监控

统计信息
/stats
方法/路径/状态码分布 + 最近请求
健康检查
/healthz
ok
自动断言
/selftest?json=1
批量跑 27 个用例,输出 PASS/FAIL

WebSocket

ws://ttt.165668.com/ws
参数:echo=0 关闭回显 · interval=5s 定时推送 · ping=5s 服务端 Ping · big=1 推送 100KB 大帧 · frag=1 推送分片消息 · close-after=30s 主动断开

gRPC / HTTP/2 明文

同一端口支持 h2c 与 gRPC,服务:cdn.probe.v1.Probe/Echo、cdn.probe.v1.Probe/Ping、grpc.health.v1.Health/Check
grpcurl -plaintext -d '{"msg":"hi"}' HOST:PORT cdn.probe.v1.Probe/Echo
grpcurl -plaintext HOST:PORT grpc.health.v1.Health/Check
curl -s /proto                                  # 查看实际使用的协议