| 典型诱因 | CDN 回源为 HTTP,源站无条件 301 到 HTTPS 形成回环 |
|---|---|
| 正确依据 | X-Forwarded-Proto 由边缘设置,源站据此判断 |
| 观察方式 | curl -IL 逐跳打印 301/302 的 Location |
按转发头判断协议
按转发头判断协议
map $http_x_forwarded_proto $is_https {
default 0;
https 1;
}
server {
listen 80;
if ($is_https = 0) { return 301 https://$host$request_uri; }
}逐跳观察重定向
逐跳观察重定向
curl -sIL http://example.com/ | grep -i '^HTTP\|^location'
curl -sIL https://example.com/ | grep -i '^HTTP\|^location'if 在 location 上下文限制较多,复杂跳转建议用 map 或独立 server 块表达;同时检查 CDN 的 SSL 模式设置。