怎么开启https相关功能
夏楚 edited this page Sep 23, 2022
·
5 revisions
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
测试。 -
如果你已经购买域名,以阿里云为例,你可以选择为您的域名申请免费证书:
- 申请免费证书额度后,可以点击
创建证书
按钮,在弹出页面输入您的域名:
- 点击下一步后提交审核:
- 下载证书:
- 选择下载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编译后的二进制目录(不同平台路径有所不同)
cd ~/git/ZLMediaKit/release/darwin/Debug/
#把合并后的证书拷贝过来
cp ~/Downloads/8516590_test.zlmediakit.com_nginx/default.pem ./
#启动进程
./MediaServer -s default.com
- 如果你的开发机的ip并不是证书绑定域名映射映射的ip,那么可以通过修改host文件来实现测试, 以linux/mac为例:
#打开host文件
sudo vi /etc/hosts
#新增内容(本机ip+空格+你的域名)
127.0.0.1 test.zlmediakit.com
#修改后保存退出vi
- 打开浏览器输入https地址测试:
- 查看证书:
- 以上5步都走完了,验证通过,那么我们接下来可以部署线上环境;部署线上环境只需要把证书绑定的域名解析到您云主机的真实公网ip即可: