SSH隧道实现Dify与Ollama跨服务器通信

由于部署大模型的时候,Dify(腾讯云)和Ollama(AutoDL)在不同的服务器上,他们之间无法进行直接通信,这里使用SSH隧道进行转发端口。

在腾讯云服务器(Dify所在)上执行SSH隧道命令:

bash 复制代码
ssh -L 6006:localhost:6006 -N root@<AutoDL公网IP> -p <SSH端口>

作用是:将腾讯云服务器本地的6006端口,通过SSH隧道,转发到AutoDL服务器的6006端口。

如果此时隧道建立成功,在Dify进行配置的时候,基础URL就应该是腾讯云服务器的本机地址,因为Dify访问本地端口,就相当于在访问AutoDL上的服务。

然而,AutoDL的指令无法直接使用

如果将该指令直接在腾讯云服务器上执行就会得到:

此时,还是无法连接到Dify

我们先进行隧道的排查与修复:

(1)确认隧道是否还在运行

腾讯云服务器上执行:ps aux | grep ssh | grep -v grep

可以发现缺少了端口参数转发 -L(之前的SSH命令只是登录到了AutoDL,没有做端口转发)

(2)终止错误的SSH连接

先终止当前错误的SSH连接:kill 763313

(3)重新建立正确的隧道

根据自己原始的SSH内容添加 -g -L参数:

这一步输入密码后不会显示出来,指针也不会移动,直接回车就好。执行后,终端会卡住不动,这是正常现象,说明隧道在运行,也不要关闭这个终端。

(4)验证隧道是否成功

保持隧道终端打开,另开一个腾讯云终端,执行:curl http://127.0.0.1:6006/api/tags

也可查看日志信息(verbose),显示完整的请求和响应过程:

bash 复制代码
curl -v http://127.0.0.1:6006/api/tags

如上图所示即为隧道通了。

|------------------------|---------------------------|
| 参数 | 作用 |
| -C | 压缩数据,加快传输速度 |
| -N | 不执行远程命令,只做端口转发 |
| -g | 允许其他主机连接本地转发端口 |
| -L 6006:127.0.0.1:6006 | 端口转发:本地6006 → AutoDL的6006 |
| -p 23855 | 指定SSH端口 |
[各参数的作用]

(5)在Dify中配置

在Dify的Ollama配置中:

如此,即可在Dify上配置Ollma下的大模型。

相关推荐
Bruce_Liuxiaowei31 分钟前
Python 实例赋值遮蔽类属性:一个从不报错的静默陷阱
开发语言·python·语法糖
咕泡科技1 小时前
咕泡科技FDE系列最新产品重磅发布!
人工智能·大模型·ai落地·fde·前沿部署工程师
今夕资源网2 小时前
把 DeepSeek 网页版变成能操作本地项目的 AI Agent:Cuckoo Code 使用指南 GitHub开源
开源·github·deepseek
aramae2 小时前
MySQL内置函数(7)
开发语言·笔记·后端·mysql·其他
徐小夕3 小时前
存量.doc 文档怎么办?JitWord 开源转换库打通旧文档到在线协同全链路
后端·架构·github
GHOME3 小时前
CI/CD 学习笔记:GitHub Actions 项目实战
github
troy1283 小时前
Codex 安全盲区:代码漏洞生成实测
windows·python·ci/cd·pycharm·django·github·fastapi
其实防守也摸鱼4 小时前
常见安全架构中 Shiro 的认证确认机制解析
运维·服务器·数据库·windows·github
码行山野赴时序归途5 小时前
链表家族收官篇:循环链表
c语言·开发语言·数据结构·链表
景熙55235 小时前
单体项目编写思路和落地形式
java·开发语言