尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

Refly 私有部署:通过公网 IP 访问时登录跳转异常的 Cookie 配置排障指南

发布时间:2026/9/16 13:54:57

资讯中心
01
ARTICLE

Refly 私有部署:通过公网 IP 访问时登录跳转异常的 Cookie 配置排障指南

Refly 私有部署:通过公网 IP 访问时登录跳转异常的 Cookie 配置排障指南
Refly 私有部署通过公网 IP 访问时登录跳转异常的 Cookie 配置排障指南【免费下载链接】reflyThe first open-source agent skills builder. Define skills by vibe workflow, run on Claude Code, Cursor, Codex more. Build Clawdbot · APIs for Lovable · Bots for Slack Lark/Feishu · Skills are infrastructure, not prompts.项目地址: https://gitcode.com/GitHub_Trending/re/refly在云服务器上以http://公网IP:5700直接访问 Refly 社区版时一个高频故障是登录后无法正常跳转表单提交成功却回到登录页或反复重定向。本文基于 IP 访问 FAQ 给出完整的排查与修复流程并结合 API 配置源码 与 认证服务实现 讲清楚背后的 Cookie 域匹配机制让你既能按步骤修复也能理解为什么必须这样配。问题现象与根因按 私有部署文档 部署完成后本地访问入口是http://localhost:5700。但如果部署在云服务器上、通过http://公网IP:5700访问可能出现登录后无法正常跳转的问题。根因是Cookie 的 domain 与浏览器实际访问的地址不匹配。从源码结构看Refly 的认证 Cookie 选项由 auth.service.ts 的cookieOptions统一生成cookieOptions(key: string): CookieOptions { const baseOptions: CookieOptions { domain: this.configService.get(auth.cookie.domain), secure: Boolean(this.configService.get(auth.cookie.secure)), sameSite: this.configService.get(auth.cookie.sameSite), path: /, }; // ... }这些配置项在 app.config.ts 中从环境变量读取auth: { cookie: { domain: process.env.REFLY_COOKIE_DOMAIN, secure: process.env.REFLY_COOKIE_SECURE true || false, sameSite: process.env.REFLY_COOKIE_SAME_SITE, }, // ... }登录成功后服务端会向响应中写入 4 个 Cookieuid、email、访问令牌和刷新令牌见setAuthCookie。其中uidCookie 会被前端用于判断登录态use-is-login.ts 就是检查 cookie 字符串中是否含uid。而示例环境 env.example 的默认值是# Authentication Configuration REFLY_COOKIE_DOMAINlocalhost REFLY_COOKIE_SECUREfalse REFLY_COOKIE_SAME_SITELax两个典型失配场景Domain 失配REFLY_COOKIE_DOMAINlocalhost而浏览器实际访问的是http://a.b.c.d:5700。浏览器按 Cookie 域规则不会把发给localhost域的 Cookie 回传给a.b.c.d这个主机导致登录后端点虽然执行成功、前端却读不到uid看起来就是登录后不跳转/反复跳回登录页。Secure 失配若REFLY_COOKIE_SECUREtrueCookie 会带Secure属性只在 HTTPS 连接下被浏览器发送。IP 直连通常是纯 HTTPhttp://Secure Cookie 会被浏览器直接丢弃。另外注意ORIGIN变量app.config.ts 中默认为http://localhost:5700。它表示浏览器访问 Refly 的完整入口地址后端 CORS 白名单main.ts 以configService.get(origin)拆分后配置以及通知邮件中的链接、分享页地址等都基于它拼接。IP 访问场景下若ORIGIN仍指向localhost跨域与链接跳转也会异常。第一步确认服务器信息获取你的云服务器公网 IP 地址例如a.b.c.d。同时确认你在云厂商安全组/防火墙中已放行TCP 5700端口——docker-compose.yml 中 web 容器的端口映射为5700:80容器名默认为refly_web前缀由REFLY_CONTAINER_NAME_PREFIX决定见 docker-compose.services.yml。第二步修改环境变量配置修改deploy/docker/.env文件该文件由 env.example 复制而来私有部署文档中的准备步骤是cd deploy/docker cp env.example .env# 将 ORIGIN 设置为浏览器访问的完整地址包含协议和端口号 ORIGINhttp://a.b.c.d:5700 # 将 REFLY_COOKIE_DOMAIN 设置为 IP 地址不要包含协议前缀 REFLY_COOKIE_DOMAINa.b.c.d # 将 REFLY_COOKIE_SECURE 设置为空 REFLY_COOKIE_SECURE三个变量的取值要点结合源码变量取值规则源码依据ORIGIN浏览器访问的完整 URL含协议与端口如http://a.b.c.d:5700app.config.ts#L6REFLY_COOKIE_DOMAIN主机名或 IP不带http://前缀、不带端口app.config.ts#L106REFLY_COOKIE_SECURE纯 HTTP 访问时置空或false源码中仅当值严格等于字符串true时才启用 Secureapp.config.ts#L107关于REFLY_COOKIE_SECURE置空源码解析逻辑是process.env.REFLY_COOKIE_SECURE true || false即只有显式写true才为安全模式置空、false均可使 Cookie 在 HTTP 下生效。REFLY_COOKIE_SAME_SITE建议保留默认的Lax见 env.example#L69它不影响本问题的修复。第三步重启服务修改完配置文件后需要重启服务以使配置生效docker compose down docker compose up -drefly_api容器的环境变量来自 Compose 编排中的env_file见 docker-compose.services.yml 中${REFLY_CONTAINER_NAME_PREFIX:-refly}_api服务定义不重建容器不会加载新的.env值所以必须 down 之后再 up。第四步验证与测试运行以下命令检查容器环境变量是否正确API 容器默认名为refly_apidocker exec refly_api env | egrep REFLY_COOKIE|ORIGIN正确环境变量示例ORIGINhttp://a.b.c.d:5700 REFLY_COOKIE_DOMAINa.b.c.d REFLY_COOKIE_SECURE REFLY_COOKIE_SAME_SITELax确认输出与预期一致后清理浏览器缓存和 Cookie并尝试重新登录。清缓存这一步不可省略旧会话可能已写入与localhost域绑定的残留 Cookie浏览器在切换访问地址后仍会携带或丢弃这些旧条目容易误判为修复无效。附域名/HTTPS 场景的取值对照如果你后续为这台服务器绑定了域名并启用 HTTPS取值需要相应调整可对照本 FAQ 的修改方法自行替换ORIGINhttps://your.domain.com完整地址REFLY_COOKIE_DOMAINyour.domain.com裸主机名不带协议REFLY_COOKIE_SECUREtrue源码仅在字符串true时置 Secure 属性app.config.ts#L107配合 HTTPS 访问可让 Cookie 强制走加密通道。修改后同样执行docker compose down docker compose up -d并用docker exec refly_api env | egrep REFLY_COOKIE|ORIGIN复核最后清浏览器缓存再登录验证。若服务本身不健康可先按 私有部署文档的故障排除 一节检查端口占用与容器状态。【免费下载链接】reflyThe first open-source agent skills builder. Define skills by vibe workflow, run on Claude Code, Cursor, Codex more. Build Clawdbot · APIs for Lovable · Bots for Slack Lark/Feishu · Skills are infrastructure, not prompts.项目地址: https://gitcode.com/GitHub_Trending/re/refly创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。