什么时候需要修改请求头
1. 要覆盖原始Host
reverse_proxy 127.0.0.1:8080 {
header_up Host "backend‑internal.local"
}
2. 需要删除某个转发头(极少用)
reverse_proxy 127.0.0.1:8080 {
header_up -X‑Forwarded‑Host
}
请求头配置
header_up:发给后端(upstream)的请求头header_down:Caddy返回给客户端的响应头
语法
header_up 头名 值:设置header_up -头名:删除该头header_up +头名 值:追加(不覆盖)
例子1
reverse_proxy 127.0.0.1:8080 {
# 告诉后端是通过 HTTPS 过来的
header_up X-Forwarded-Proto https
}
作用: 告诉后端是通过 HTTPS 过来的,后端生成跳转、拼接页面完整 url 时,会拼出 https:// 这是正常的,否则会拼出 http:// ,导致不一致,可能会产生问题
例子2
reverse_proxy 127.0.0.1:8080 {
# 删除原始某个头
header_up -X‑Powered‑By
# 修改返回客户端的响应头
header_down Server "my‑gateway"
}