news 2026/9/20 5:04:03

SRS 一键配置 HTTPS 免费证书:Oryx 接入 Let‘s Encrypt 的 5 分钟指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SRS 一键配置 HTTPS 免费证书:Oryx 接入 Let‘s Encrypt 的 5 分钟指南

SRS 一键配置 HTTPS 免费证书:Oryx 接入 Let's Encrypt 的 5 分钟指南

【免费下载链接】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 是高性能实时流媒体服务器,它的上层应用 Oryx 内置了"一键 HTTPS":在控制台填入域名,就能自动申请 Let's Encrypt 免费证书并每日续期,整套流媒体服务即刻加密。本文带你从域名解析走到加密验证,全程不需要买任何商业证书。

浏览器为什么拦你的播放器

一个很真实的翻车现场:你把播放器嵌进了一个 HTTPS 网站(比如 WordPress 博客),播放地址却还是 http,页面直接白屏——浏览器出于安全策略拒绝加载非加密资源。浏览器 WebRTC 推流更严格,只有安全上下文里才允许动用摄像头和麦克风。

两个场景的解法一样:服务器必须把 HTTPS 跑起来

Let's Encrypt 是一家免费的 CA(Certificate Authority,负责核验域名归属并签发证书的机构),它签发的 TLS 证书(TLS 是浏览器与服务器之间加密通信的协议)约 3 个月到期。Oryx 把"申请 + 续期"整条链路做成了自动化:你只管在控制台填域名,其余的事它自己干。

默认部署形态下 Oryx 面向单个域名,证书范围干净,续期逻辑也因此简单可靠。

做完之后,你会得到什么

  • 加密的控制台https://your_domain_name/mgmt直接进 Oryx 管理面板,地址栏显示锁 🔒
  • 会自己续的证书:每天定时体检,快到期自动续期并重载 NGINX,全程零人工
  • 随便嵌的流:HLS、HTTP-FLV、WebRTC 流可以安全嵌入任意 HTTPS 网站
  • 可用的浏览器推流:WebRTC 推流满足浏览器的安全上下文要求

动手前,先核对这两项

  • 一个已装好 Oryx 的 SRS Droplet(没装的话先走官方一键安装流程;Oryx 把 SRS、FFmpeg、NGINX、Redis 和 Web 控制台打包成了单节点应用)
  • 一个你管得了 DNS 的已注册域名

下文用your_domain_name代指你的域名、your_public_ipv4代指服务器公网 IP,动手时请替换成真实值。

操作主线:从指路域名到签发证书

把域名指向服务器

Let's Encrypt 签证书前要先确认你控制着这个域名,走的是 ACME(Automated Certificate Management Environment,一套自动化的证书签发协议)。最基础的一步:让域名能从公网解析到你的服务器。

到域名解析后台加一条 A 记录,把your_domain_name指向your_public_ipv4,然后验证解析是否生效:

ping your_domain_name

输出长这样才算成功:

PING your_domain_name (your_public_ipv4): 56 data bytes 64 bytes from your_public_ipv4: icmp_seq=0 ttl=64 time=11.8 ms

顺手在浏览器打开http://your_domain_name/mgmt,能看到 Oryx 控制台页面,说明 80 端口链路也是通的。

在控制台一键申请证书

进入System(系统)→ HTTPS → Let's Encrypt,在输入框填入your_domain_name,点Submit

后台发生的事:Oryx 调用 LEGO(ACME 协议的客户端库)与 Let's Encrypt 服务器握手,创建 challenge(挑战)验证域名控制权,拿到证书、落盘文件、重载 NGINX——整个过程全自动,你不需要敲任何命令

需要多个域名时,用分号分隔填写,例如domain.com;www.domain.com;前提是每一个域名都有指向本机的 A 记录。

验证加密访问真的生效

https://your_domain_name/mgmt刷新页面,地址栏出现锁标识、无混合内容警告,即代表证书已生效。命令行再确认一次:

curl -sI https://your_domain_name/mgmt | head -n 1

输出长这样才算成功:

HTTP/2 200

别让证书过期:每日自动续期机制

3 个月有效期听着紧张,实际不用你操心:Oryx 内置定时任务每天检查一次证书剩余有效期,临近到期就自动续期,必要时重载 NGINX 让新证书生效。

想确认机制是否就位,看续期日志:

docker logs platform | grep renew

输出长这样才算成功:

Thread #crontab: auto renew the Let's Encrypt ssl Processing /etc/letsencrypt/renewal/your_domain_name.conf Certificate not yet due for renewal No renewals were attempted.

Certificate not yet due for renewal(暂不需要续期)是健康状态;日志里出现 failed、timeout 之类的报错,才需要按下一节的排查清单动手。

源码视角:HTTPS 支撑链路长什么样

好奇它怎么实现的,链路分两层。

Oryx 层(见 Oryx 概览):

  • LEGO负责向 Let's Encrypt 申请与续期证书,是自动 HTTPS 的核心
  • NGINX承载 HTTP/HTTPS 入口与反向代理,证书生效后由它完成安全传输
  • /data 持久化目录存放证书文件、生成的 SRS/NGINX 配置、Redis 数据,容器重启后证书不丢
  • 端口映射:宿主机443/TCP→ 容器2443/TCP(HTTPS 控制台、API、信令、加密媒体分发);80/TCP2022/TCP(HTTP 访问)

启用 Let's Encrypt 证书后,Oryx 用它替换默认的自签名证书(/data/config/.env里的AUTO_SELF_SIGNED_CERTIFICATE开关控制自签名的生成),NGINX 与 SRS 的 HTTPS 通道统一切到真实证书。

纯 SRS 层:脱离 Oryx 单独部署时,http_serverhttp_api各有独立的 https 配置段,仓库自带的 https.srs.conf 就是现成参考:

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

参数直白:https { enabled on; }打开加密监听,listen是 HTTPS 端口,key/cert指向私钥与证书文件。https.docker.conf、https.rtc.conf、https.hls.conf 分别覆盖 Docker、WebRTC、HLS 场景;conf 目录下的 server.crt 与 server.key 是随附的自签名示例。

别把纯 SRS 的配置文件直接拷进 Oryx 环境顶替——Oryx 会在 /data 下自动生成所需配置,独立部署的 conf 只作参考。

WebRTC 场景还要留意rtc_servercandidate(即 SDP——Session Description Protocol,会话描述协议,两端靠它协商"我在哪、怎么收包"——中通告的候选地址),写成candidate $CANDIDATE;并保证客户端可达,HTTPS 信令通道和 UDP 媒体通道才能配合工作。

边界与坑:踩之前先绕开

  • 坑:申请一直不过→ 对策:先 ping 验证 A 记录确实解析到your_public_ipv4,DNS 必须是公网可解析的,内网域名走不了 ACME 验证
  • 坑:证书签下来了但访问不通→ 对策:云安全组放行 80 与 443——80 给 ACME 验证和 HTTP 跳转用,443 给加密访问用
  • 坑:容器重建后证书、配置全没了→ 对策:Oryx 是单节点应用,务必给/data挂持久化目录(标准写法-v $HOME/data:/data
  • 坑:想要通配符证书→ 对策:现有逻辑以单域名为主体,多域名可用分号分隔申请;wildcard 等高级需求查 Oryx 官方文档
  • 坑:改了环境文件不生效→ 对策:/data/config/.env里的参数(如CANDIDATEMGMT_PASSWORD)修改后需要重启 Oryx

跑通之后,往哪走

至此你的 SRS Droplet 已经是一个完整加密的流媒体服务:控制台、API、播放地址全部走 HTTPS,证书每日自动续期,浏览器推流不再被拦。下一步可以试着把流嵌进自己的 WordPress 站点实测播放器,再顺手给rtc_server配上candidate把 WebRTC 链路补齐;日常只需隔三差五扫一眼续期日志,一切照常运转即可。

【免费下载链接】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/20 8:25:55

基于555与LM358的高低电平滞回报警电路设计

简介:本资源是一份完整的模拟电子技术课程设计报告,面向电子信息类本科生及模电初学者,聚焦高低电平报警器这一典型信号检测应用,解决实际电路中对输入电压阈值判别与声光告警响应的核心问题,适用于工业监控、实验教学…

作者头像 李华
网站建设 2026/9/20 5:26:14

基于GA-BP神经网络的充填料浆强度与成本双目标优化

简介:这份PDF是《黄金科学技术》2019年第27卷第4期的一篇研究论文,面向采矿工程、矿业经济及机器学习建模方向的研究者与工程技术人员,聚焦充填法开采中如何在满足充填体抗压强度要求的前提下降低料浆成本。作者以水泥、粉煤灰、尾砂质量分数…

作者头像 李华
网站建设 2026/9/20 5:14:29

泛微OA流程搭建:表单、路径、流转三要素深度解析

简介:本资源是一份面向泛微OA系统管理员与流程实施人员的实操型搭建指南,聚焦「从零构建业务流程」这一核心需求,解决表单设计、路径绑定、节点流转、权限配置等关键落地难题。文档以加值班登记单为完整案例,覆盖新建表单&#xf…

作者头像 李华
网站建设 2026/9/20 5:11:28

剪蛋 - 简单复制到剪映

链接:https://pan.quark.cn/s/3be7872882f7简单复制到剪映。 复制或截图一张图片,在剪映素材页按 CtrlV,剪蛋会把图片直接加入播放头所在位置,并放在现有画面轨道上方。为什么有剪蛋?剪映不支持把刚刚截好的图片直接粘…

作者头像 李华
网站建设 2026/9/19 5:07:00

豆包、Dola、千问、云雀多开去水印下载管理器

链接:https://pan.quark.cn/s/8071966f13bb支持豆包、Dola、千问、云雀 多账号管理器、无限多开(自备账号) 一键去水印下载原图/视频 永久免费版本 不限时间使用 无需卡密

作者头像 李华