站点与证书 FAQ
相关教程:站点配置 · 证书管理 · 从其他面板导入 · 接入第一个站点
改成 9088 等自定义端口后打不开
两件事都要做:.env 里的 EXTRA_LISTEN_PORTS 已包含该端口,并已执行 bash scripts/sync-compose-ports.sh && docker compose up -d;站点高级设置里「修改访问监控端口」也填了同一个端口。只改面板、不映射 Docker,宿主机上没有这个端口。不要手改 docker-compose.override.yml,只改 .env。完整步骤见 站点配置 · 自定义访问端口。
本机源站如果已经占用了这个端口,不要再映射给流盾,否则 Docker 会启动失败。这种场景让流盾继续听 80,只把回源端口改成源站端口。
打开网站是 502 / 503 / 504
多半是回源地址或端口不对,或源站没在听。Docker 里别把源站写成容器自己的 127.0.0.1。
处理:在宿主机先 curl 源站端口;Linux 常用网关地址或 host.docker.internal;宝塔则回源到高位端口。
源站错误页 ≠ 规则拦截页。
只出现 504、源站其实还活着:多半是接口或下载超过流盾等待时间(默认 60 秒)。到 系统设置 → 引擎 调高「源站响应超时」,并确认源站自己也没有更短的超时。
经流盾上传大文件报 413
流盾默认允许的请求体约 50 MB(含表单字段开销,实际文件往往略小于这个数)。超过后请求到不了源站,浏览器或客户端看到 413。
到 系统设置 → 引擎 把「最大请求体」调到不小于源站实际上传上限(如 PHP upload_max_filesize)。只放宽源站、不改流盾,经 WAF 的上传仍会 413。
强制 HTTPS 后浏览器死循环
CDN、流盾、源站不要多层同时强制跳转。只留一处;或回源用 HTTP,并关掉源站侧强制 HTTPS。
日志里 IP 全是 CDN 节点
站点「客户端 IP 获取方式」还停在直连。按 CDN 改成对应选项(如 Cloudflare 用 CF-Connecting-IP,其它用厂商头或 XFF),并只信任代理入站。
通配符域名不生效
检查 DNS 是否有 *.example.com,站点域名列表是否覆盖访问的 Host,证书是否也覆盖通配符。
证书上传失败或 HTTPS 异常
证书文件要完整(含中间证书),并和私钥配对;开了 HTTPS 必须在站点里选好证书。仍不行时,到服务器上看应用日志里有没有证书相关报错。
证书到期通知收不到
确认证书页开了到期通知并选了至少一个通道;系统设置里邮件测试发送成功;距到期一般在 7 天内才会提醒。只开了「到期前自动续期」、没选通知通道时,续期成功或失败都不会发信。
流盾续好证书后,宝塔 / 1Panel 会一起换成新证书吗?
要在证书里打开「续期时自动推送到其他面板」并勾选网站。没开的话,只更新流盾这边。步骤见 续期后同步到宝塔 / 1Panel。
申请免费证书失败
HTTP-01 要求:站点已保存、勾选的是具体域名(不要通配符、不要 IP)、域名 A/AAAA 已指向本机,且公网能访问 80 端口。前面若还有 CDN / 反代把 80 直接指到源站,证书机构校验的就不是流盾。详见 证书管理 · 申请免费证书。
站点保存成功,但提示引擎重载失败
站点数据已写入,只是 Nginx/OpenResty 没能重载新配置。面板会尽量带上具体原因:
- 证书相关:证书/私钥损坏、不完整或与站点绑定不匹配 → 到证书管理更新后再保存站点
- 其它引擎错误:端口占用、配置语法问题等 → 按提示原文排查,必要时看应用容器日志
修好后再次保存站点,或重启容器让配置重新加载。
从宝塔 / 1Panel 导入时没有账号
抽屉里会显示「暂未设置」。点「前往系统设置」添加并测连。一键安装若检测到本机面板,通常已写入「本机宝塔 / 本机 1Panel」。完整步骤见 从其他面板导入。
面板测连失败
核对地址(协议、端口;宝塔和 1Panel 都不必带安全入口)、API 密钥、是否关闭本机自签证书的 TLS 校验。容器访问宿主机宝塔时,API 白名单需要包含容器自身 IP(以及 127.0.0.1),而不是只加 172.17.0.1。一键安装会自动写入;手动排查可用 docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' flowshield-waf-app。1Panel 需先开启 API 接口并把 ApiKey 填进流盾。
导入后网站 502
同机导入会把回源写成 host.docker.internal,并把 80/443 改成 8080 / 4343。若你改过源站端口,到站点编辑里改成实际端口。导入是一次性的,不会覆盖已经存在的域名。