配置 Cloudflare Tunnel:把 Mac 上的 Web 服务变成安全域名

本文详细介绍,任意电脑上,用浏览器打开 https://ollamawebui.你的域名.xyz 这样的地址,直接访问 Mac 里的 Docker 服务,而且全程 HTTPS + 邮箱验证,只有你自己能进

说明

  • 有一台mac或者其他电脑
  • 部署了ollama,并且配置了open webui作为查询界面
  • 域名已经托管到cloudflare
  • 核心工具是 Cloudflare Tunnel(原名 Argo Tunnel)
  • 完全免费,不限流量,自动搞定 HTTPS 证书

在 Mac 上安装 cloudflared

打开 Mac 终端,执行:

Bash 复制代码
brew install cloudflare/cloudflare/cloudflared

验证是否安装成功:

Bash 复制代码
cloudflared version

登录 Cloudflare 授权

Bash 复制代码
cloudflared tunnel login

命令执行后会自动打开浏览器,跳转到 Cloudflare 的授权页面。

在页面里选中你已经托管在 Cloudflare 的域名(例如 你的域名.xyz),点击授权。

浏览器提示成功后,终端会同步显示"已成功登录",本地也会保存证书文件。

创建一条专属隧道

给隧道起个名字,比如 mac-dev

Bash 复制代码
cloudflared tunnel create mac-dev

终端会返回一个 Tunnel ID ,同时在 ~/.cloudflared/ 目录下生成对应的凭证 JSON 文件。

这个 ID 和文件后面会用到。

把子域名绑定到隧道

现在你想让 ollamawebui.你的域名.xyz 这个域名,最终访问到 Mac 上的 ollamawebui WebUI(端口 8081)

需要执行以下命令,为隧道添加 DNS 路由:

Bash 复制代码
cloudflared tunnel route dns mac-dev ollamawebui.你的域名.xyz

命令会自动在 Cloudflare 的 DNS 记录里添加对应的 CNAME 条目,完全不需要你手动去 Cloudflare 后台操作。

编写隧道配置文件

创建一个配置文件 ~/.cloudflared/config.yml,内容如下:

YAML 复制代码
tunnel: 1e4bff13-对齐token-4de8e2494c21
credentials-file: /Users/duo/.cloudflared/1e4bff13-对齐token-4de8e2494c21.json
protocol: http2
ingress:
  - hostname: flink.你的域名.xyz
    service: http://localhost:8888

注意替换 <你的Tunnel ID> 和用户名,以及 hostname 要改成你自己的域名。

最后一条 http_status:404 表示如果访问的子域名没有匹配到规则,就直接返回 404,不暴露任何东西。

启动隧道并设为开机自启

先前台跑一次测试:

Bash 复制代码
cloudflared tunnel run mac-dev

终端会输出连接日志,此时打开浏览器,访问 https://ollamawebui.你的域名.xyz,应该能看到你的 ollamawebui WebUI 页面。

安装为后台服务并设为开机启动:

Bash 复制代码
sudo cloudflared service install
brew services start cloudflared

以后只要 Mac 开着,即使你重启,这个隧道也会自动连上。

加上 Cloudflare Access 邮箱验证(最后一道锁)

现在虽然域名能访问了,但其实只要知道域名的人都能打开你的 ollamawebui 界面,这非常危险。

Cloudflare Access 可以在打开页面之前,强制要求输入邮箱,并发送一次性验证码,只有你指定的邮箱才能进入。

打开 Cloudflare Zero Trust 控制台(地址:https://one.dash.cloudflare.com/):

  • 左侧菜单点击 AccessApplications ,然后点 Add an application
  • 选择 Self-hosted
  • 应用名称随便填,例如 "ollamawebui",应用域名填 ollamawebui.你的域名.xyz,点击 Next。
  • 在策略页面,Policy name 填 "Allow my email",然后在 Include 选择器里选择 Emails ,输入你自己的邮箱地址(例如 you@example.com)。
  • 点击 Add policy ,然后 Next,最后点 Add application 完成。

现在,你用任何设备打开 https://ollamawebui.你的域名.xyz,都会先看到一个 Cloudflare 的邮箱验证页面。

输入你的邮箱,点击发送验证码,在邮箱里查收并填入,才能看见真正的 WebUI

这一步要绑定visa或mastercard,不会扣费,只是验证

最后

整个方案的核心思想就是"零信任":不信任任何网络,每个入口都要验证身份,且全程加密。

你的 Mac 虽然放在家里,但现在它已经拥有了企业级的安全远程访问能力。

快去搭建属于你自己的远程开发环境吧!有什么问题欢迎评论区留言!

相关推荐
酉鬼女又兒2 小时前
零基础入门IPv4地址:从基本概念、分类编址、子网划分到无分类编址与应用规划全解
网络·网络协议·计算机网络·考研·职场和发展·分类·智能路由器
未来侦察班2 小时前
网络协议 数据链路层,“帧”建立统一新秩序
网络·网络协议
极创信息3 小时前
信创产品适配测试认证,域名和SSL是必须的吗?
java·开发语言·网络·python·网络协议·ruby·ssl
未来侦察班3 小时前
网络协议物理层,“地基“是怎么练成的
网络·物联网·网络协议·物理层·tcpip
七夜zippoe4 小时前
DolphinDB HTTP API接入:RESTful数据推送
网络协议·http·api·restful·dolphindb
我是一颗柠檬4 小时前
【计算机网络全面教学】应用层核心协议,HTTP/DNS/DHCP/FTP/SMTP全解析Day5(2026年)
网络协议·计算机网络·http
数据知道4 小时前
指纹浏览器代理中台设计:为每个指纹环境绑定独立出口IP的架构实现
网络协议·tcp/ip·架构
糖果店的幽灵5 小时前
软件测试接口测试从入门到精通:HTTP协议详解
软件测试·网络协议·接口测试·http协议·测试基础
数据知道5 小时前
指纹浏览器:DNS 泄漏防范与 WebRTC 本地 IP 屏蔽的底层实现
爬虫·网络协议·tcp/ip·安全·webrtc·数据采集·指纹浏览器