【技巧】使用frpc点对点安全地内网穿透访问ollama服务

news2025/5/13 20:42:42

回到目录

【技巧】使用frpc点对点安全地内网穿透访问ollama服务

0. 为什么需要部署内网穿透点对点服务

在家里想访问单位强劲机器,但是单位机器只能单向访问互联网,互联网无法直接访问到这台机器。通过在云服务器、单位内网服务器、源端访问机器上,分别部署frpc,可以把内网的服务点对点暴露给需要访问的机器。
本文字数2000+,阅读10分钟。

1. 互联网云服务器(简称Server01)

1.1. 配置 frps.toml

bindPort = 8003

说明:
监听 8003 端口接受客户端连接

1.2. 启动Server01服务

$ ./frps -c frps.toml
2025-05-12 13:32:22.888 [I] [frps/root.go:105] frps uses config file: frps.toml
2025-05-12 13:32:23.066 [I] [server/service.go:237] frps tcp listen on 0.0.0.0:8003
2025-05-12 13:32:23.066 [I] [frps/root.go:114] frps started successfully

2. 内网提供服务的机器(简称Server02)

2.1. 配置 frpc.toml

serverAddr = "[互联网云服务器ip或域名]"
serverPort = 8003

[[proxies]]
name = "ollama_tcp"
type = "stcp"
secretKey="[设置一个强度足够的密码]"
localIP = "127.0.0.1"
localPort = 11434

说明:
serverPort:8003 Server01提供服务中转的端口
localPort = 11434 本地需要暴露出去的端口

2.2. 启动Server02服务

$ ./frpc -c frpc.toml
2025-05-12 13:38:39.783 [I] [sub/root.go:149] start frpc service for config file [frpc.toml]
2025-05-12 13:38:39.783 [I] [client/service.go:314] try to connect to server...
2025-05-12 13:38:39.952 [I] [client/service.go:306] [e5d5ff58236a7c1a] login to server success, get run id [e5d5ff58236a7c1a]
2025-05-12 13:38:39.952 [I] [proxy/proxy_manager.go:177] [e5d5ff58236a7c1a] proxy added: [ollama_tcp]
2025-05-12 13:38:39.982 [I] [client/control.go:172] [e5d5ff58236a7c1a] [ollama_tcp] start proxy success

3. 点对点穿透内网访问Server02服务的机器(简称Server03)

3.1. 配置 frpc.toml

serverAddr = "[互联网云服务器ip或域名]"
serverPort = 8003

[[visitors]]
name = "ollama_tcp_vistor"
type = "stcp"
serverName = "ollama_tcp"
secretKey = "[Server02那个强度足够的密码]"
bindAddr= "127.0.0.1"
bindPort = 8001

说明:
serverPort:8003 Server01提供的中转服务端口
serverName Server02提供的服务名
bindPort = 8001 访问本地端口相当于访问Server02端口服务

3.2. 启动Server03服务

$ ./frpc -c frpc.toml
2025-05-12 13:41:59.679 [I] [sub/root.go:149] start frpc service for config file [frpc.toml]
2025-05-12 13:41:59.679 [I] [client/service.go:314] try to connect to server...
2025-05-12 13:41:59.943 [I] [client/service.go:306] [7f964c15b5115d3c] login to server success, get run id [7f964c15b5115d3c]
2025-05-12 13:41:59.943 [I] [visitor/visitor_manager.go:128] [7f964c15b5115d3c] start visitor success
2025-05-12 13:41:59.943 [I] [visitor/visitor_manager.go:179] [7f964c15b5115d3c] visitor added: [ollama_tcp_vistor]

1.3. 测试访问Server03的8001端口

在一台遥远的机器上,浏览器访问 localhost:8001
显示: Ollama is running

4. 在dify容器里面执行访问端程序

如果在win10的wsl直接执行frpc,容器docker-api-1无法访问本机端口服务,需要进一步配置

4.1. frp目录复制到dify的docker映射目录

[dify目录]/docker/volumes/app/storage
frp_0.62.1 image_files privkeys upload_files

4.2. 执行命令

 $ sudo docker exec docker-api-1 /app/api/storage/frp_0.62.1/frpc -c /app/api/storage/frp_0.62.1/frpc.toml

回到目录

[1]: https://gofrp.org/zh-cn/docs/overview/ frp使用指引
[2]: https://github.com/fatedier/frp/releases frp下载地址
[3]:https://mp.weixin.qq.com/s/T76yql-iHhFZTUFy-KHPwQ 基于Docker的内网穿透实战

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2374914.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker:安装配置教程(最新版本)

文章目录 一、前言二、具体操作2.1 卸载 Docker (可选)2.2 重新安装(使用清华大学镜像)2.3 配置轩辕镜像加速2.4 Docker 基本命名2.5 测试是否成功 三、结语 一、前言 Docker 是一种容器化技术,在软件开发和部署中得到广泛的应用&#xff0c…

neo4j官方示例

目录 一、准备数据 1.执行查看结果 二、操作 1.find 单个节点 2.同上,已某个属性去查询 3. 指定查询个数 4.条件查询 5.查询某个人出演的电影汇总 6.查询tom出演的电影中,还有其他演员的信息。 7.查询跟电影(Cloud Atlas)有关的演员&#xff0…

前端自学入门:HTML 基础详解与学习路线指引

在互联网的浪潮中,前端开发如同构建数字世界的基石,而 HTML 则是前端开发的 “入场券”。对于许多渴望踏入前端领域的初学者而言,HTML 入门是首要挑战。本指南将以清晰易懂的方式,带大家深入了解 HTML 基础,并梳理前端…

vue实现与后台springboot传递数据【传值/取值 Axios 】

vue实现与后台springboot传递数据【传值/取值】 提示:帮帮志会陆续更新非常多的IT技术知识,希望分享的内容对您有用。本章分享的是node.js和vue的使用。前后每一小节的内容是存在的有:学习and理解的关联性。【帮帮志系列文章】:每…

【英语笔记(三)】介绍谓语动词的分类,初步讲解四种基本状态:一般、进行、完成、完成进行

1. 五大类谓语动词 2. 谓语动词分类 3. 动词时间 过去--------------------------现在-----------------------未来 3. 动词状态 3.1 进行状态 3.2 完成状态 3.3 完成进行状态 3.4 一般状态 4. 时间 状态 名称说明例句现在现在现在现在进行时态现在某物正在做什么事情一只…

【Python】让Selenium 像Beautifulsoup一样,用解析HTML 结构的方式提取元素!

我在使用selenium的find_element的方式去获取网页元素,一般通过xpath、css_selector、class_name的方式去获取元素的绝对位置。 但是有时候如果网页多了一些弹窗或者啥之类的,绝对位置会发生变化,使用xpath等方法,需要经常变动。…

2025 后端自学UNIAPP【项目实战:旅游项目】3、API接口请求封装,封装后的简单测试以及实际使用

一、创建请求封装目录 选中自己的项目,右键鼠标---->新建---->目录---->名字自定义【我的是api】 二、创建两个js封装文件 选中封装的目录,右键鼠标---->新建---->js文件---->名字自定义【我的两个js文件分别是my_http和my_api】 三…

Ascend的aclgraph(二)_npu_backend中还有些什么秘密?

1 _npu_backend 文章还是从代码开始 import torch_npu, torchair config torchair.CompilerConfig() # 设置图下沉执行模式 config.mode "reduce-overhead" npu_backend torchair.get_npu_backend(compiler_configconfig) opt_model torch.compile(model, back…

ventoy安全启动怎么选_ventoy安全启动支持是开还是关

ventoy安全启动怎么选?Ventoy新一代多系统启动U盘解决方案。国产开源U盘启动制作工具,支持Legacy BIOS和UEFI模式,理论上几乎支持任何ISO镜像文件,支持加载多个不同类型的ISO文件启动,无需反复地格式化U盘,…

CC53.【C++ Cont】二分查找的普通模版

目录 1.知识回顾 2.关键点 特点 三个模版 普通的模版(有局限) 以LeetCode上的一道题为例:704. 二分查找 分析 引入二段性:分两段,舍一段,操作另一段(这个是二分查找的本质!) 代码 提交结果 当然也可以使用随机数来分两段 普通模版总结 1.知识回顾 之前在C语言专栏…

【优选算法 | 链表】链表操作技巧:常见算法

算法相关知识点可以通过点击以下链接进行学习一起加油!双指针滑动窗口二分查找前缀和位运算模拟 链表是一种灵活的数据结构,广泛用于需要频繁插入和删除的场景。掌握链表的常见操作技巧,如插入、删除、翻转和合并等,能帮助开发者更…

w~大模型~合集30

我自己的原文哦~ https://blog.51cto.com/whaosoft/13284996 #VideoMamba 视频理解因大量时空冗余和复杂时空依赖,同时克服两个问题难度巨大,CNN 和 Transformer 及 Uniformer 都难以胜任,Mamba 是个好思路,让我们看看本文是…

PBR材质-Unity/Blender/UE

目录 前言: 一、Unity: 二、Blender: 三、UE: 四、全家福: 五、后记: 前言: PBR流程作为表达物理效果的经典方式,很值得一学。纹理贴图使用的是上一期的Textures | cgbookcas…

websocketpp 安装及使用

介绍 WebSocket 是从 HTML5 开始支持的一种网页端和服务端保持长连接的消息推送机制。 传统的 web 程序都是属于 "一问一答" 的形式,即客户端给服务器发送了一个 HTTP 请求,服务器给客户端返回一个 HTTP 响应。这种情况下服务器是属于被动…

第8章-2 查询执行的基础

上一篇:《第8章-1 查询性能优化-优化数据访问》,接着来了解查询执行的过程,这个对sql执行有个更直观的了解。 查询执行的基础 当希望MySQL能够以更高的性能运行查询时,最好的办法就是弄清楚MySQL是如何优化和执行查询的。一旦理解…

java面试OOM汇总

在正式 Minor GC 前,JVM 会先检查新生代中对象,是比老年代中剩余空间大还是小。假如 Minor GC之后 Survivor 区放不下剩余对象,这些对象就要进入老年代 老年代剩余空间大于新生代中的对象大小,那就直接 Minor GC, GC 完…

react-diff-viewer 如何实现语法高亮

前言 react-diff-viewer 是一个很好的 diff 展示库,但是也有一些坑点和不完善的地方,本文旨在描述如何在这个库中实现自定义语法高亮。 Syntax highlighting is a bit tricky when combined with diff. Here, React Diff Viewer provides a simple rend…

自定义prometheus exporter实现监控阿里云RDS

# 自定义 Prometheus Exporter 实现多 RDS 数据采集## 背景1. Prometheus 官网提供的 MySQL Exporter 对于 MySQL 实例只能一个进程监控一个实例,数据库实例很多的情况下,不方便管理。 2. 内部有定制化监控需求,RDS 默认无法实现,…

【计算机网络】--tcp三次握手

文章目录 示意图:抓包结果:第一次握手(Client → Server)第二次握手(Server → Client)第三次握手(Client → Server)为什么是三次握手 不是两次或者四次 示意图: 抓包结…

UI-TARS: 基于视觉语言模型的多模式代理

GitHub:https://github.com/bytedance/UI-TARS 更多AI开源软件:发现分享好用的AI工具、AI开源软件、AI模型、AI变现 - 小众AI 基于视觉语言模型(Vision-Language Model)的 GUI 代理应用,允许用户通过自然语言控制电脑操…