3.4 wordpress调用dify api的坑点


文档摘要

3.4 wordpress调用dify api的坑点 3.4.1. wordpress 连接 dify api 的坑点 在使用 wordpress 插件调用 dify api 时,一度出现如下错误提示: 反复调试和查阅资料后,发现是因为不同的 docker 环境之间,网络不互通的问题导致: 在 WordPress 的 Docker 容器中,localhost 指的是容器本身,而不是宿主机。因此,当你尝试从 WordPress 容器内部访问宿主机上运行的 API 服务时,会出现连接失败的错误。 解决方案是,使用宿主机的 IP 地址: 在 WordPress 容器中,将 API 的 URL 从 http://localhost:8082 改为 http://host.docker.

3.4 wordpress调用dify api的坑点

3.4.1. wordpress 连接 dify api 的坑点

在使用 wordpress 插件调用 dify api 时,一度出现如下错误提示:

反复调试和查阅资料后,发现是因为不同的 docker 环境之间,网络不互通的问题导致:

检查网络连接: 如果使用 Docker Compose,确保 WordPress 和 API 服务在同一个网络中。 在 WordPress 容器中使用 curl 或 telnet 命令测试与 API 服务的连通性: 例如:curl http://api-service:8082(假设 API 服务的容器名为 api-service)。

在 WordPress 的 Docker 容器中,localhost 指的是容器本身,而不是宿主机。因此,当你尝试从 WordPress 容器内部访问宿主机上运行的 API 服务时,会出现连接失败的错误。

解决方案是,使用宿主机的 IP 地址:

  • 在 WordPress 容器中,将 API 的 URL 从 http://localhost:8082 改为 http://host.docker.internal:8082。
  • host.docker.internal 是一个特殊的 DNS 名称,它解析为宿主机的 IP 地址。
  • 这种方法适用于 Docker Desktop for Mac/Windows,但在 Linux 上可能不适用。

3.4.2.手动测试 docker 连通性方法

如果想手动测试 wordpress 和 dify api 的连通性,可以点击 wordpress->Terminal:

通过 curl 指令测试访问 api 的网络是否通畅:

测试指令代码如下:

curl -X POST 'http://host.docker.internal:8082/v1/completion-messages' \ --header 'Authorization: Bearer app-Oetcpd0AIpMFBBnKM3BbKpNV' \ --header 'Content-Type: application/json' \ --data-raw '{ "inputs": {"content": "美丽中国"}, "response_mode": "blocking", "user": "abc-123" }'

如果连通性没问题,则应当可以返回如下图所示的结果:


作者与出处
原作者: Datawhale
来源:Datawhale
许可证:CC BY-NC-SA 4.0
整理: 灏天文库整理
由灏天文库结构化整理,提供目录导航、全文检索与在线阅读,便于系统化学习
发布者: 作者: Datawhale 转发
评论区 (0)
U