HTTPS的配置门槛挺高,要搞懂什么是密钥和证书都不容易,何况还需要了解如何匹配域名,更何况自动申请免费证书,自动更新证书,SRS云服务器可以一键搞定,从此就可以愉快的开启HTTPS和WebRTC玩耍了。
先看快速操作步骤,鼠标点一点,就可以轻松搞定:
•SRS云服务器:先得有个SRS云服务器,请点击这里[1]或阅读原文,根据视频指引获得。•域名和解析:当然你得有个域名,并解析到SRS云服务器的IP,HTTPS必须有域名。•自动HTTPS:在SRS云服务器一键申请Let's Encrypt免费证书,或者上传证书。•WebRTC:搞定HTTPS后,WebRTC推流就可以直接打开,不用允许自签名证书了。
SRS云服务器
请按下面视频指引,购买SRS云服务器(若已有轻量应用服务器,也可以选择重装系统选择SRS的镜像):
请确保升级到了v1.0.63
及以上的版本,若没有升级可以手动点升级,如下图所示:
升级后,可以看到系统配置中,就有了HTTPS的配置,可以选择自动申请或者上传已有的证书:
当然,得先有个域名并解析到SRS云服务器的IP,下面介绍域名的设置。
域名和解析
HTTPS必须有域名,没有可以先购买,国内dnspod[2]和阿里云[3]都可以购买。
Note: 国内域名需要备案,请按域名服务商指引操作就可以。
购买域名后,需要设置解析,添加A
记录,域名解析到SRS云服务器的IP就可以(请把域名换成你的域名):
可以在本机用下面的命令检查域名设置(请把域名换成你的域名),可以看到域名正确设置为了IP地址,就正确了:
ping lh.ossrs.net# PING lh.ossrs.net (101.43.175.30): 56 data bytes# 64 bytes from 101.43.175.30: icmp_seq=0 ttl=64 time=9.348 ms
设置好域名解析,也可以使用域名访问SRS云服务器(请把域名换成你的域名):http://lh.ossrs.net
自动HTTPS
设置好域名解析后,在系统配置中选择HTTPS: Let's Encrypt,输入域名,就可以一键申请证书:
然后,在浏览器输入HTTPS的域名就可以访问了,发现WebRTC也可以使用了(请把域名换成你的域名):https://lh.ossrs.net
查看证书,可以发现是3个月有效期,SRS云服务器会提前30天自动更新,自动申请新的证书:
关于自动申请证书的详细技术细节,可以参考SRS: Let's Encrypt[4]。
WebRTC
在之前的视频中,由于使用的是自签名证书,所以WebRTC推流需要敲魔法数thisisunsafe
,才能正常推流,这在正常的使用中就难度太高了。
有了合法的SSL证书后,就可以直接使用WebRTC推流了,在应用场景中选择私人直播间,然后选择WebRTC推流,可以直接推流和播放:
推流和播放链接,可以直接分享给其他朋友,打开就能看:
有了HTTPS,后面关于WebRTC通话的场景才能如此方便。
上传证书
若你已经有了SSL证书,可以下载后,上传到SRS云服务器。在系统配置中选择HTTPS: 上传证书:
申请域名后,一般可以申请免费的SSL证书,然后可以下载证书,请选择Nginx格式的证书下载。
References
[1]
这里: https://www.bilibili.com/video/BV1844y1L7dL/
[2]
dnspod: https://www.dnspod.cn/
[3]
阿里云: https://mi.aliyun.com/
[4]
Let's Encrypt: https://github.com/ossrs/srs/issues/2864#lets-encrypt