目录
1、创建2个Ubuntu虚拟机,分别作为nginx服务器、SRS服务器。配置为桥接模式连接局域网(有独立IP)
2、通过Linux的ifconfig命令,分别查看两服务器的IP
3、修改C:\Windows\System32\drivers\etc\hosts文件,添加如下内容:(做DNS劫持,在局域网模拟公网环境)
1、git clone SRS代码仓库到~/,按readme执行初始化
3、在~/srs/trunk/3rdparty/httpx-static下编译httpx-static:
4、 使用OpenSSL发布自签名证书,得到证书mysrs.crt和私钥mysrs.key,复制到~/srs/trunk/3rdparty/httpx-static:
5、启动httpx-static,代理SRS到https协议:
6、启动SRS,此时可以通过https协议访问SRS服务器。
2、输入sudo nginx -t,找到config所在的位置,如:/etc/nginx,将证书复制到此
3、在该目录下的./conf.d文件夹,创建新的conf文件srs.conf(文件名称不做要求)
背景
nginx服务器(公网暴露访问,挂域名)
SRS服务器(内网IP访问,也可公网IP访问,无域名)
目的
实现用户通过域名向nginx服务器发送WebRTC推拉流请求,由nginx服务器代理到SRS服务器,SRS服务器不在公网暴露。
局域网实验
1、创建2个Ubuntu虚拟机,分别作为nginx服务器、SRS服务器。配置为桥接模式连接局域网(有独立IP)
2、通过Linux的ifconfig
命令,分别查看两服务器的IP
3、修改C:\Windows\System32\drivers\etc\hosts
文件,添加如下内容:(做DNS劫持,在局域网模拟公网环境)
4、SRS服务器配置
1、git clone SRS代码仓库到~/
,按readme执行初始化
2、安装go语言环境
sudo apt install golang-go
3、在~/srs/trunk/3rdparty/httpx-static
下编译httpx-static:
srs@ubuntu:~/srs/trunk/3rdparty/httpx-static$ go build -mod=vendor .
4、 使用OpenSSL发布自签名证书,得到证书mysrs.crt
和私钥mysrs.key
,复制到~/srs/trunk/3rdparty/httpx-static
:
openssl genrsa -out mysrs.key 2048 &&
subj="/C=CN/ST=Beijing/L=Beijing/O=Me/OU=Me/CN=192.168.0.110" && # 这里需要替换内网IP
openssl req -new -x509 -key mysrs.key -out mysrs.crt -days 3650 -subj $subj &&
5、启动httpx-static,代理SRS到https协议:
srs@ubuntu:~/srs/trunk/3rdparty/