Skip to content

让阿里云 ESA 前置 fn-knock

阿里云 ESA 可放在 fn-knock 前面承担 DNS、TLS 和边缘分发。源站仍然是 fn-knock 网关;认证、会话、Host 路由和访问策略不应在 ESA 配置中被绕过。

接入前确认

  • 子域映射已在不经过 ESA 的链路中验证通过;
  • 每个认证和业务 Host 的 DNS、证书与上游目标已明确;
  • ESA 能回源到 fn-knock 暴露的地址、端口和协议;
  • 已保留绕过 ESA 的管理或回退路径。

配置要点

  1. 在 fn-knock 启用 ESA 对应的真实客户端 IP 支持。
  2. 在 ESA 添加站点,将认证 Host 和业务 Host 回源到 fn-knock 网关。
  3. 保持 Host、WebSocket 和真实客户端 IP 头透传到源站。
  4. 为认证、回调、API 和其他动态路径配置绕过缓存;缓存静态资源前先确认不会破坏 Cookie 或鉴权。
  5. 用真实外网依次测试登录、业务页面、文件下载与长连接。

排查

请求日志应显示真实客户端 IP、预期 Host 和正确上游。若出现登录循环、资源加载异常或地区规则误判,先检查 ESA 缓存规则、回源 Host、Cookie 域和客户端 IP 头,再修改 fn-knock 映射。

ESA 控制台与套餐能力会变动,边缘侧操作以 ESA 官方文档 为准。

QQ群:1081609274