一、启动SRS
具体如何搭建SRS环境,请查看之前的文章。
执行以下命令启动SRS:
docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 registry.cn-hangzhou.aliyuncs.com/ossrs/srs:5 ./objs/srs -c conf/docker.conf
二、启动信令服务器
执行以下命令启动信令服务器:
docker run --rm -p 1989:1989 registry.cn-hangzhou.aliyuncs.com/ossrs/signaling:1
三、nginx配置SRS
在nginx.conf中配置SRS
server {
#监听443端口
listen 443 ssl;
server_name 127.0.0.1;
#ssl证书的crt文件路径
ssl_certificate D:\\soft\\nginx-1.24.0\\ssl\\server.crt;
#ssl证书的key文件路径
ssl_certificate_key D:\\soft\\nginx-1.24.0\\ssl\\server.key;
# websocker配置
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
#反向代理
location / {
root html;
index index.html index.htm;
#proxy_pass http://127.0.0.1:8080;
proxy_pass http://127.0.0.1:1989;
}
location ~ /.+/.*\.(flv|m3u8|ts|aac|mp3)$ {
proxy_pass http://127.0.0.1:8080$request_uri;
}
# webRTC api
location /api/ {
proxy_pass http://127.0.0.1:1985/api/;
}
# For SRS WebRTC publish/play API.
location /rtc/ {
proxy_pass http://127.0.0.1:1985/rtc/;
}
}
里面需要添加websocket的配置。
# srs中websocker配置
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
- 第一行是告诉nginx使用HTTP/1.1通信协议,这是websoket必须要使用的协议。
- 第二行和第三行告诉nginx,当它想要使用WebSocket时,响应http升级请求。
- 这里http和websocket反向代理共存,只是个协议的升级。
四、测试
我们访问浏览器,开启一对一通话环境,发现环境配置已经成功了,并且使用的是https访问。因为我们的SRS推流,如果我们不是使用本地推流的话,必须要使用https的环境,所以必须搭建SRS的https环境。红色的提示是当前我们的电脑没有音视频的设备。
我们使用之前的obs推流和手机app推流做测试,两个通话环境分别拉取这两个流实现通话。
标签:http,ssl,0.1,SRS,proxy,Https,推流,nginx From: https://blog.51cto.com/u_13312531/7100533