news 2026/9/17 11:41:07

如何为 SRS 一键配置 HTTPS:Oryx 自动签发 Let‘s Encrypt 证书完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何为 SRS 一键配置 HTTPS:Oryx 自动签发 Let‘s Encrypt 证书完整指南

如何为 SRS 一键配置 HTTPS:Oryx 自动签发 Let's Encrypt 证书完整指南

【免费下载链接】srsSRS is a simple, high-performance, AI-driven real-time media server supporting RTMP, WebRTC, HLS, HTTP-FLV, HTTP-TS, SRT, MPEG-DASH, and GB28181, with codec support for H.264, H.265, AV1, VP9, AAC, Opus, and G.711.项目地址: https://gitcode.com/GitHub_Trending/sr/srs

本文带你完整走通 SRS HTTPS 的"一键 HTTPS"链路:通过 Oryx 为 SRS Droplet 自动签发 Let's Encrypt 证书,开启流媒体加密访问,并确认证书每日自动续期。读完后,你能独立完成从域名解析、控制台提交证书申请到续期检查的全流程,并弄清 Oryx 与 SRS 底层对 SRS 流媒体加密的支撑方式。

为什么 SRS 绕不开 HTTPS

浏览器里用 WebRTC 推流,依赖安全上下文:摄像头和麦克风只在 HTTPS(或 localhost)页面中可访问。不配置 HTTPS,浏览器推流页面根本打不开,这是硬性限制,不是建议项。

另一个高频场景是把播放嵌入 HTTPS 网站。页面是 HTTPS、流地址是 HTTP 时,浏览器会按 mixed content(混合内容)策略拦截,画面直接黑屏。唯一解法就是让 HLS/FLV/WebRTC 流也走 HTTPS。

换句话说,HTTPS 不是 SRS 的加分项,而是浏览器侧使用的前置条件。

环境准备清单

开始之前,请确认三项前置条件:

  1. 已安装 Oryx 的 SRS Droplet:完成 Oryx 的安装与初始化;
  2. 一个完整注册的域名:任意域名注册商均可购买,本文用your_domain_name占位;
  3. 服务器公网 IP:本文用your_public_ipv4占位,实际请替换为真实值。

Oryx(原名 SRS Stack)是一个单节点一体化应用,集成了 SRS、FFmpeg、Go 后端、React 控制台、Redis 与 NGINX。SRS 提供底层流媒体能力,Oryx 在其上封装了自动 HTTPS、鉴权、录制、转推等面向用户的工作流。自动 HTTPS 由内置的 LEGO 组件(Let's Encrypt 客户端库)驱动,证书申请与续期全自动。详见 oryx-overview.md。

HTTPS 配置全链路

域名解析到服务器

Let's Encrypt 需要通过网络验证你对域名的控制权,域名必须先解析到服务器公网 IP。在域名服务商后台为your_domain_name添加一条 A 记录:

A your_domain_name your_public_ipv4

等待 DNS 生效后,用ping验证:

ping your_domain_name

输出中解析到你的服务器公网 IP,说明记录生效。接着在浏览器访问http://your_domain_name/mgmt,能正常加载 Oryx 控制台页面,整条链路的前置条件就齐了。

控制台提交证书申请

打开 Oryx 控制台,进入System(系统)> HTTPS > Let's Encrypt页面,输入你的域名,点击Submit

⚠️ 提交之后的所有操作都由 Oryx 自动完成:内置的 LEGO 组件与 Let's Encrypt 服务器通信,创建 challenge(挑战)验证域名控制权,完成证书签发,并写入持久化存储。全程无需手动干预。

支持一次申请多个域名,用分号分隔即可。例如输入domain.com;www.domain.com,那么https://domain.comhttps://www.domain.com会同时可用——前提是每个域名都添加了 A 记录并指向本机。

验证生效与确认续期

重新用https://your_domain_name/mgmt加载站点,观察浏览器地址栏:出现 HTTPS 锁标识,说明证书已生效。

Let's Encrypt 签发的证书有效期约为 3 个月。Oryx 内置定时任务每天检查证书是否即将到期,需要时自动续期并重新加载 NGINX 使新证书生效。执行下面的命令即可查看续期日志:

docker logs platform |grep renew

日志中出现renew ssl updated=falseCertificate not yet due for renewal之类的字样且没有报错,说明自动续期机制已就绪,证书会一直有效,无需人工盯守。

底层支撑机制剖析

Oryx 侧的 HTTPS 架构

Oryx 的 HTTPS 能力由三个环节共同构成:

  • LEGO:证书申请与续期的核心,负责与 Let's Encrypt 的全部交互;
  • NGINX:提供 HTTP/HTTPS 访问与反向代理,承载网页与媒体资源的安全分发;
  • /data持久化目录:SSL 证书文件、生成的 SRS 与 NGINX 配置、Redis 数据统一存放在此,容器重启后证书不丢失。

端口映射决定访问路径:宿主机443/TCP映射到容器内2443/TCP,承载 HTTPS 控制台、OpenAPI、信令与安全的 HTTP 媒体分发;80/TCP映射到2022/TCP,用于普通 HTTP 访问。

SRS 原生 HTTPS 配置

脱离 Oryx,SRS 本身也具备完整的 HTTPS 配置能力。http_serverhttp_api下都可以挂独立的https配置块,共四个参数:

  • enabled on:开启 HTTPS 监听;
  • listen:HTTPS 服务监听端口;
  • key:私钥文件路径;
  • cert:证书文件路径。

https.srs.conf 中http_server段给出如下示例:

http_server { enabled on; listen 8080; https { enabled on; listen 8088; key ./conf/server.key; cert ./conf/server.crt; } }

http_api段结构完全相同,HTTPS 端口为 1990。Docker、WebRTC、HLS 场景分别可在 https.docker.conf、https.rtc.conf 与 https.hls.conf 中找到完整的配置参考;仓库随附的server.crtserver.key是自签名证书示例。WebRTC 场景下,rtc_server还需要配置candidate(即$CANDIDATE),确保 SDP 中通告的候选地址可被客户端访问,与 HTTPS 的 UDP 媒体通道配合工作。

Oryx 与 SRS 配置的关系

Oryx 模式下,不要把 SRS 独立部署的配置文件直接替换进去。Oryx 会在/data下自动生成所需的 SRS 与 NGINX 配置,并通过/data/config/.env环境文件管理核心参数:MGMT_PASSWORD(管理员密码)、CANDIDATE(WebRTC 候选地址)、AUTO_SELF_SIGNED_CERTIFICATE(自签名证书开关)等。启用 Let's Encrypt 证书后,Oryx 用 LEGO 签发的证书替换默认自签名证书,让 NGINX 与 SRS 的 HTTPS 通道统一使用真实证书。

边界与注意事项

  • 单域名为主:证书申请逻辑以单个域名为主要场景(支持分号分隔多域名),通配符域名等高级需求请参考 Oryx 官方文档;
  • DNS 必须公网可解析:HTTP/ACME challenge 要求域名解析到你的公网 IP,A 记录配置错误是申请失败的最常见原因;
  • 保持/data持久化挂载:Oryx 是单节点部署,证书与配置都在/data下,容器替换后没有持久挂载意味着全部丢失;
  • 端口放行:宿主机的 80、443 端口须对公网开放并在云安全组放行——80 用于 Let's Encrypt 验证与 HTTP 跳转,443 用于 HTTPS 访问。

总结

  1. 为域名添加了 A 记录,解析到服务器公网 IP;
  2. 在 Oryx 控制台一键获取 Let's Encrypt 证书,LEGO 自动完成域名验证与签发;
  3. 通过地址栏锁标识验证 HTTPS 生效,并用日志确认每日自动续期机制就绪;
  4. 理清了 LEGO、NGINX、/data持久化三者的分工,以及 SRS 原生https配置块的用法。

至此,SRS Droplet 具备了完整的 HTTPS 能力:WebRTC 浏览器推流满足安全上下文要求,HLS/FLV/WebRTC 流也能安全嵌入任何 HTTPS 网站播放。

【免费下载链接】srsSRS is a simple, high-performance, AI-driven real-time media server supporting RTMP, WebRTC, HLS, HTTP-FLV, HTTP-TS, SRT, MPEG-DASH, and GB28181, with codec support for H.264, H.265, AV1, VP9, AAC, Opus, and G.711.项目地址: https://gitcode.com/GitHub_Trending/sr/srs

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/17 11:40:08

Git只克隆某个目录实操:sparse checkout + 浅克隆 + 部分克隆组合

每次遇到“后端仓库几个G、前端只想拉其中一个目录”这种需求,我都想先把SVN时代的同学拉出来聊聊。Git的设计天生是快照式的,它跟你记忆里的“检出某个子目录”压根不是一回事。但这不代表做不到,Git从2.25版本开始把sparse checkout、浅克隆…

作者头像 李华
网站建设 2026/9/17 11:36:53

IDE护眼背景色配置原理与跨平台实操指南

1. 为什么护眼背景色不是“换个颜色”那么简单 你打开 VS Code,搜“护眼色”,随手复制一个 #e6e6e6 或 #f5f5dc 粘贴进设置,保存,重启——眼睛还是干、胀、看半小时就发酸。这不是你眼睛不行,是绝大多数人根本没搞…

作者头像 李华
网站建设 2026/9/17 11:36:27

通达信游资起动点指标公式源码:捕捉放量突破启动信号

简介:这是一份通达信游资起动点指标公式源码文档,专为股票技术分析爱好者、短线交易者及通达信用户设计,旨在捕捉股价短期起动上涨信号,辅助入场时机判断。压缩包内含1个doc文件,大小约125KB,内容为可直接复…

作者头像 李华
网站建设 2026/9/17 11:35:05

解析几何期末试卷数字化:从doc转docx到PDF发布与公式验证

简介:这是一份江西师范大学数学与应用数学专业《解析几何》期末试卷(B卷),适合本科生期末复习、考研基础巩固或教师命题参考。试卷按填空与解答两大类编排,覆盖空间直角坐标与仿射坐标、向量射影与线性组合、直线与平面…

作者头像 李华
网站建设 2026/9/17 11:33:42

5G室内网规设计:链路预算、天线布点与参数调优

简介:一份围绕华为5G室内网络规划设计的专业PDF资料,面向从事5G室分系统设计、网络优化与工程交付的通信工程师。内容系统讲解5G NR容量规划、LampSite NR产品与组网、5G NR链路预算以及5G NR室内仿真四个核心模块,既覆盖容量估算、链路预算与…

作者头像 李华