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下的大模型。

相关推荐
前端点线面5 分钟前
GitHub 5月热点:Claude Code生态大爆发
github
ZGi.ai8 分钟前
私有化大模型接入企业系统:SSO+权限+API网关完整方案
java·开发语言·大模型·私有化部署·sso·企业架构
一念春风17 分钟前
记事本(C#)
开发语言·c#
fox_lht25 分钟前
第十二章 泛型、接口和生命周期
开发语言·后端·rust
jayson.h27 分钟前
正则表达式:从文件名提取器件编号
开发语言·python·正则表达式
Dxy123931021628 分钟前
JS如何获取元素高度
开发语言·javascript·ecmascript
门豪杰34 分钟前
2026年4月,我调研了15款主流大模型
ai·大模型·平台选择
凯瑟琳.奥古斯特38 分钟前
页面置换算法详解与对比
开发语言·分布式·职场和发展
小杍随笔38 分钟前
Axum+Leptos全栈集成实战
开发语言·后端·架构·rust
2601_9536603739 分钟前
Java Map集合详解与实战
java·开发语言·python