webapp Public link inaccessible

用户在使用 Dify 1.15.0 自托管 Docker 部署时,遇到两个问题:1) Web 应用的公开链接(如 http://10.64.110.111/chat/zQYEUSDXXiwcL )无法公开访问,需要登录才能查看;2) HTTP 请求节点在访问内部网络链接时报错。

webapp Public link inaccessible

webapp Public link inaccessible

快速结论:该报错出现在 Dify 1.15.0 版本中,有两个独立问题:Web 应用公开链接需要登录,以及 HTTP 节点无法请求内部网络链接。优先排查 Dify 前端版本是否为 1.15.0,并检查 SSRF 代理配置。

问题场景

用户在使用 Dify 1.15.0 自托管 Docker 部署时,遇到两个问题:1) Web 应用的公开链接(如 http://10.64.110.111/chat/zQYEUSDXXiwcL)无法公开访问,需要登录才能查看;2) HTTP 请求节点在访问内部网络链接时报错。

报错原文

Error when making an HTTP request to an internal network link

同时,Web 应用页面重定向到登录页 /signin

原因分析

这是 Dify 1.15.0 版本引入的两个独立 bug:

  • Web 应用公开链接问题:前端的 useTimestamp() 钩子错误地在公开 Web 应用页面触发了控制台 profile 请求(/console/api/account/profile),导致匿名用户被重定向到登录页。
  • HTTP 内网请求问题:Dify 1.15.0 强化了 SSRF 防护策略,默认禁止请求私有网络 IP 地址(如 10.x.x.x、192.168.x.x 等),导致内部网络请求被阻止。

环境排查

  • 确认 Dify 版本:1.15.0(docker compose images 查看各容器版本)
  • 确认部署方式:自托管 Docker
  • 确认 Web 容器版本:langgenius/dify-web:1.15.0
  • 确认是否设置了 SSRF_PROXY_ALLOW_PRIVATE_IPSSSRF_PROXY_ALLOW_PRIVATE_DOMAINS 环境变量

解决步骤

  1. 解决 Web 应用公开链接问题(可优先尝试):将有问题的 Web 容器降级到 1.14.2。在 docker-compose.yml 中找到 web 服务,修改镜像版本:
    services:
      web:
        image: langgenius/dify-web:1.14.2

    然后运行 docker compose up -d web。注意:API 容器可以保持在 1.15.0,不受影响。

  2. 解决 HTTP 内网请求问题:.env 文件中添加允许的私有网络 IP 或域名:
    # 允许特定 IP 或 CIDR 范围
    SSRF_PROXY_ALLOW_PRIVATE_IPS=10.64.110.0/24
    
    # 或针对特定域名
    SSRF_PROXY_ALLOW_PRIVATE_DOMAINS=your-internal-domain.com

    配置完成后重启所有容器:

    docker compose down
    docker compose up -d
  3. 等待官方修复版发布:该 bug 已在 PR #37915 中修复,预计在下一个补丁版本中发布。

验证方法

降级 Web 容器后,尝试通过公开链接 http://your-domain/chat/xxx 访问应用,应不再重定向到登录页。配置 SSRF 代理后,尝试在 HTTP 节点中请求内部网络地址,应能正常返回数据。

参考来源

langgenius/dify #38158

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 10853

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注