现象
用户使用FastGPT 4.8私有部署版本,通过Nginx代理转发访问服务,在前端嵌入免登录窗口链接后,免登录窗口仍需输入账号密码完成登录。
可能原因
Nginx代理配置未正确传递FastGPT免登录校验所需的请求头,导致服务端无法识别合法的免登录请求,触发登录验证流程。部分代理路径的头传递配置存在缺失。
排查步骤
- 确认当前FastGPT部署版本为4.8私有部署版本,核对官方文档中的代理部署要求。
- 打开浏览器开发者工具的网络请求面板,查看免登录请求的响应状态、返回内容与请求头信息,确认是否存在代理转发异常。
- 直接访问FastGPT原生端口3000,测试免登录功能是否正常,排除FastGPT本身的配置问题。
- 逐一核对Nginx配置中的代理头设置,确认根路径与/chat/路径的代理头均完整传递。
解决与验证
调整Nginx代理配置,确保所有请求路径正确传递必要的请求头。针对当前的配置,需确认以下内容:
- 根路径代理(
location /)需完整传递Host、X-Real-IP、X-Forwarded-For、X-Forwarded-Proto等请求头。 /chat/路径的SSE代理配置需保留Upgrade与Connection头的设置,确保流式响应正常。
修改配置后,执行nginx -s reload重启Nginx服务,访问代理后的免登录窗口链接,确认无需输入账号密码即可正常进入会话,完成验证。