怎么开启https相关功能
夏楚 edited this page 2025-10-09 11:27:11 +08:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

一、编译时开启openssl特性

zlmediakit的https(另外还包括rtmps/rtsps/webrtc/wss)功能依赖openssl库在编译zlmediakit时应该先在系统默认环境安装openssl库ubuntu下通过以下命令安装

sudo apt-get install libssl-dev

如果您的系统默认openssl版本太老可以选择自行编译安装openssl到自定义路径此时在编译zlmediakit时可以通过以下命令指定openssl自定义安装路径

cd ZLMediaKit
mkdir build
cd build
cmake .. -DOPENSSL_ROOT_DIR=/path/to/your/new/openssl/install/root/dir
make -j$(nproc)

二、创建证书

  • 如果你还没购买域名,可以使用自签名证书或zlmediakit自带默认证书default.pem测试。

  • 如果你已经购买域名,以阿里云为例,你可以选择为您的域名申请免费证书:

图片

  • 申请免费证书额度后,可以点击创建证书按钮,在弹出页面输入您的域名:

图片

  • 点击下一步后提交审核:

图片

三、下载证书并合并为zlmediakit支持的证书类型

  • 下载证书:

图片

  • 选择下载nginx或其他方式都可(两者证书类型一样)

图片

  • 解压下载压缩包后文件如下
图片
  • key后缀的文件是私钥pem后缀的文件为公钥两者可以使用文本编辑器打开它们都是base64编码的字符串两个字符串拼接在一起后就是zlmediakit支持的证书文件类型了
#进入文件夹
cd 8516590_test.zlmediakit.com_nginx
#合并公钥私钥
cat 8516590_test.zlmediakit.com.key 8516590_test.zlmediakit.com.pem > default.pem

四、zlmediakit加载证书

#进入zlmediakit编译后的二进制目录(不同平台路径有所不同)
cd ~/git/ZLMediaKit/release/darwin/Debug/

#把合并后的证书拷贝过来
cp ~/Downloads/8516590_test.zlmediakit.com_nginx/default.pem ./

#启动进程
./MediaServer -s default.pem

图片

五、测试

  • 如果你的开发机的ip并不是证书绑定域名映射映射的ip那么可以通过修改host文件来实现测试, 以linux/mac为例
#打开host文件
sudo vi /etc/hosts
#新增内容(本机ip+空格+你的域名)
127.0.0.1  test.zlmediakit.com
#修改后保存退出vi
  • 打开浏览器输入https地址测试

图片

  • 查看证书:

图片

六、部署线上环境

  • 以上5步都走完了验证通过那么我们接下来可以部署线上环境部署线上环境只需要把证书绑定的域名解析到您云主机的真实公网ip即可

图片

图片