配置 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 虽然放在家里,但现在它已经拥有了企业级的安全远程访问能力。

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

相关推荐
Sylvia33.9 小时前
LOL实时数据接入深度解析:从WebSocket到完整数据模型
java·网络·python·websocket·网络协议
鼹鼠SDN12 小时前
没有公网 IP,如何在外面访问家里的打印机、摄像头和整个局域网?
网络·网络协议·tcp/ip
幼儿园蛋小黑17 小时前
TCP 并发:从原理到高并发实践
网络·网络协议·tcp/ip
驭渊的小故事20 小时前
网络原理04(http协议详细解析3)(2000详细解析HTTPS的工作原理)
网络·网络协议·http
额额额对了21 小时前
Linux 进程间通信(IPC)核心机制:消息队列、共享内存与信号量详解
linux·网络·网络协议
IPdodo_21 小时前
2026年爬虫代理 IP 选择指南:从可用率、延迟到成本验收
网络协议·tcp/ip·scrapy·http·https·beautifulsoup·httpx
程序员夏洛1 天前
HTTP 请求包含哪些内容,请求头和请求体有哪些类型?
网络·网络协议·http
瓦格哈儿1 天前
删掉旧 SSL 证书会影响线上业务吗?风险点梳理
网络协议·https·ssl
美酒没故事°1 天前
https和tls有什么区别?
网络协议·http·https
SKH.1 天前
网络(3)TCP通信
网络·网络协议·tcp/ip