260203-OpenWebUI-在Windows上和RHEL上部署Caddy的步骤+在iPhone上操作的步骤

260203-OpenWebUI-在Windows上和RHEL上部署Caddy的步骤+在iPhone上操作的步骤
在这里插入图片描述

要在局域网内解决 iPhone 访问 OpenWebUI 的语音/视频权限问题,核心目标是建立一个被 iPhone 信任的 HTTPS 环境。以下是针对 Windows 和 RHEL 两大平台的 Caddy 部署及 iPhone 操作的完整指南。

在这里插入图片描述

一、 Windows 平台部署 Caddy

适用于在 Windows PC 上直接开发或运行 OpenWebUI 的场景。

  1. 下载:从 Caddy GitHub Releases 下载 windows_amd64 的 zip 包,解压得到 caddy.exe
  2. 存放:建议存放在 C:\caddy\
  3. 配置:在同目录下新建文本文件并重命名为 Caddyfile(无后缀),内容如下:
# 替换为你电脑的局域网 IP (例如 192.168.1.5) 192.168.x.x { reverse_proxy localhost:3000 tls internal } 
  • 多个端口的设置:⚠:相同应用需要不同的端口
# Open-WebUI (访问地址 https://192.168.8.250:9997) 192.168.8.250:9998 { reverse_proxy localhost:9997 tls internal } # ASR (访问地址 https://192.168.8.250:8000) 192.168.8.250:8001 { reverse_proxy localhost:8000 tls internal } 
  1. 启动:在当前文件夹打开终端(CMD 或 PowerShell),输入:
.\caddy.exe run 
  1. 查找证书:Caddy 会生成根证书,Windows 上通常位于:
    C:\Users\你的用户名\AppData\Roaming\Caddy\pki\authorities\local\root.crt

二、 RHEL 平台部署 Caddy

适用于公司服务器环境。

  1. 安装
sudo dnf install'dnf-command(copr)'sudo dnf copr enable @caddy/caddy sudo dnf install caddy 
  1. 配置:修改 /etc/caddy/Caddyfile
# 替换为 RHEL 服务器的局域网 IP 192.168.x.x { reverse_proxy localhost:3000 tls internal } 
  1. 放行防火墙
sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload 
  1. 启动sudo systemctl enable --now caddy
  2. 查找证书:RHEL 上根证书位置:
    /var/lib/caddy/.local/share/caddy/pki/authorities/local/root.crt

三、 iPhone 手机端操作步骤

这是开启语音和视频权限最关键的一步,必须严格执行:

1. 传输并安装证书

  • 将上述步骤中找到的 root.crt 文件通过邮件、隔空投送(AirDrop)或网页下载发送到 iPhone。
  • 点击文件,iPhone 会提示“已下载描述文件”。
  • 进入 设置 > 已下载描述文件,点击 安装

2. 开启完全信任 (必做)

  • 进入 设置 > 通用 > 关于本机 > 证书信任设置
  • 在“针对根证书启用完全信任”列表中,找到 Caddy Local Authority…
  • 打开其右侧的开关

3. 访问测试

  • 在 Safari 浏览器中输入 https://192.168.x.x必须手动输入 https)。
  • 地址栏应出现“灰色或绿色的小锁”,不再报安全警告。
  • 此时点击 OpenWebUI 的麦克风或摄像头图标,iOS 即可正常弹出授权窗口。

方案总结对比

操作环节Windows 平台RHEL 平台
主要工具caddy.execaddy 服务 (dnf 安装)
配置文件运行目录下的 Caddyfile/etc/caddy/Caddyfile
根证书路径AppData\Roaming\Caddy\.../var/lib/caddy/...
网络要求允许程序通过 Windows 防火墙必须执行 firewall-cmd 放行 443
iPhone 操作一致:安装证书 -> 手动开启完全信任一致:安装证书 -> 手动开启完全信任
💡 核心提醒:很多用户安装了证书但忘记在“关于本机”里手动开启完全信任开关,导致 HTTPS 依然失效,请务必检查该设置。

您在寻找证书文件的过程中是否遇到了困难?我可以帮您确认具体的文件路径。

Read more

通义千问3-14B环境部署教程:Ollama+WebUI双Buff叠加指南

通义千问3-14B环境部署教程:Ollama+WebUI双Buff叠加指南 1. 引言 1.1 学习目标 本文旨在为开发者提供一套完整、可落地的 Qwen3-14B 模型本地化部署方案,结合 Ollama 的轻量级模型管理能力与 Ollama WebUI 的可视化交互优势,实现“一键启动 + 图形操作”的高效开发体验。通过本教程,你将掌握: * 如何在本地环境中部署 Qwen3-14B 模型 * 配置 Ollama 实现模型加载与推理服务 * 搭建 WebUI 界面实现对话交互 * 切换 Thinking / Non-thinking 双模式进行差异化调用 * 性能优化建议与常见问题排查 最终达成:单卡(如 RTX 4090)运行 148 亿参数模型,支持 128k 上下文、多语言翻译、

前端 SSR:别让你的网站变成 SEO 黑洞

前端 SSR:别让你的网站变成 SEO 黑洞 毒舌时刻 这网站做得跟黑洞似的,搜索引擎根本爬不进去。 各位前端同行,咱们今天聊聊前端 SSR(服务端渲染)。别告诉我你还在使用纯客户端渲染,那感觉就像在没有窗户的房间里生活——能住,但看不见外面的世界。 为什么你需要 SSR 最近看到一个项目,纯客户端渲染,SEO 排名倒数,用户体验差。我就想问:你是在做网站还是在做内部工具? 反面教材 // 反面教材:纯客户端渲染 // App.jsx import React, { useState, useEffect } from 'react'; function App() { const [data, setData] = useState([]); const [loading, setLoading] = useState(true); useEffect(

如何利用简单的浏览器插件Web Scraper爬取知乎评论数据

如何利用简单的浏览器插件Web Scraper爬取知乎评论数据

一、简单介绍: Web Scraper 的优点就是对新手友好,在最初抓取数据时,把底层的编程知识和网页知识都屏蔽了,可以非常快的入门,只需要鼠标点选几下,几分钟就可以搭建一个自定义的爬虫。 我在过去的半年里,写了很多篇关于 Web Scraper 的教程,本文类似于一篇导航文章,把爬虫的注意要点和我的教程连接起来。最快一个小时,最多一个下午,就可以掌握 Web Scraper 的使用,轻松应对日常生活中的数据爬取需求。 像这样的网页数据,想要通过网页爬虫的方式获取数据,可以下载web scraper进行爬虫 这是常见的网页类型: 1.单页 单页是最常见的网页类型。 我们日常阅读的文章,推文的详情页都可以归于这种类型。作为网页里最简单最常见的类型,Web Scraper 教程里就拿豆瓣电影作为案例,入门 Web Scraper 的基础使用。 2.分页列表 分页列表也是非常常见的网页类型。 互联网的资源可以说是无限的,当我们访问一个网站时,不可能一次性把所有的资源都加载到浏览器里。现在的主流做法是先加载一部分数据,随着用户的交互操作(

WEB 学习框架搭建

WEB 学习框架搭建

WEB 学习框架搭建 (写了几道web题目,都感觉无法下手,后来觉得还是得系统搭建框架学习,如果连基础知识都有很多不明白,光知道各种注入方法也没有什么用,以下为借助AI的学习记录) web应用框架 前端(XSS,CSRF)-后端(SQL,越权,文件上传,文件包含。。。)-数据库 场景:用户在小程序上输入手机号和密码,点击“登录”。 第一步:前端的工作 (用户看得见的部分) 前端负责展示界面、收集数据、调用API、处理响应。 1. 构建界面:画出登录页面,有手机号输入框、密码输入框和“登录”按钮。 2. 监听事件:用户点击“登录”按钮时,前端代码被触发。 3. 收集与校验:前端获取输入框里的手机号和密码,先做基本校验(如手机号格式、密码非空)。 4. 调用API(