阿里云 CDN 代理雷池 Safeline
一、正常配置 CDN 和雷池 WAF
CDN 指定雷池 WAF 的域名和 9443 端口,配置 SSL 代理。
二、雷池 WAF 配置细节
在 8.8.0-lts
及以上版本中, 防护应用 -> 高级配置
中设置:
项 | 值 | 备注 |
---|---|---|
源 IP 获取方式 | 从 HTTP Header 中获取 |
X-Real-IP |
监听 IPv6 地址 | 开启 | |
启用 HTTP/1.0 | 开启 | |
HTTP 自动跳转到 HTTPS | 开启 | |
启用 HSTS | 关闭 | 不勾选 |
代理时修改请求中的 Host 头 | 关闭 | 不勾选 |
为上游服务器传递 X-Forwarded-Host、 X-Forwarded-Proto | 开启 | |
清空并重写 X-Forwarded-For | 关闭 | 不勾选 |
支持 Gzip 压缩 | 开启 | |
支持 Brotli 压缩 | 关闭 | 不勾选 |
支持 SSE 流式响应 | 关闭 | 不勾选 |
启用 NTLM 认证 | 关闭 | 不勾选 |
应用不存在时返回内置证书 | 关闭 | 不勾选 |
特别是
代理时修改请求中的 Host 头
不勾选,否则 CDN 回源异常。
三、CDN 缓存设置
在 CDN 设置中, 域名管理 -> <具体域名>
的 回源配置 -> 修改出站请求头
,添加:
项 | 值 | 备注 |
---|---|---|
请求头操作 | 增加 | |
自定义请求头参数 | 自定义回源请求头 | |
自定义请求头名称 | X-Real-IP | |
请求头值 | $ | |
是否允许重复 | 不允许 | |
规则条件 | 不使用 |
缓存配置 -> 缓存过期时间
,设置:
项 | 值 | 备注 |
---|---|---|
类型 | 目录 | |
地址 | / | |
过期时间 | 1 秒 | |
权重 | 50 | |
规则条件 | 不使用 |
四、如果报错
报错内容 | 可能原因 | 备注 |
---|---|---|
可以访问登陆界面,登陆时提示 invalid csrf token |
缓存未更新 | |