生成 HTTPS 证书
需要实现配置好 openssl 软件
执行以下命令生成密钥 server.key,过程中会要求设置密码,按提示输入即可。
openssl genrsa -des3 -out server.key 2048
接下来执行以下命令去除刚刚设置的密码:
openssl rsa -in server.key -out server.key
为什么要去除密码呢?我测试过配置带有密码的密钥,结果服务无法正常启动,提示如下:
FTL http server error="tls: failed to parse private key"
使用密钥创建服务器证书的申请文件 server.csr,过程中会要求输入一些信息,不填也可。
openssl req -new -key server.key -out server.csr
创建 CA 证书 ca.crt:
openssl req -new -x509 -key server.key -out ca.crt -days 3650
创建服务器证书 server.crt:
openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt
目录文件
screego-demo
├── ca.crt
├── ca.srl
├── LICENSE
├── README.md
├── screego
├── screego.config
├── server.crt
├── server.csr
└── server.key
密钥 server.key 和服务器证书 server.crt 已经创建,接下来就可以修改配置了。
修改配置
编辑配置文件 screego.config,这里仅列出我修改的配置项。
# ip地址不能是 0.0.0.0
SCREEGO_EXTERNAL_IP=192.168.128.128
SCREEGO_SERVER_TLS=true
SCREEGO_TLS_CERT_FILE=/root/screego-demo/server.crt
SCREEGO_TLS_KEY_FILE=/root/screego-demo/server.key
说明:
- SCREEGO_EXTERNAL_IP:访问地址,配置服务器的 IP 地址,以实际为准。
- SCREEGO_SERVER_TLS:TLS 开关。由于之前已配置了 HTTPS 的证书,这里改为 true。
- SCREEGO_TLS_CERT_FILE:指定证书。
- SCREEGO_TLS_KEY_FILE:指定密钥。
- 默认端口是5050
修改以上配置项后,服务就可以启动了。如果需要了解更多细节,可以查阅官方文档 [2] 获取帮助。
启动
运行以下命令启动 screego:
./screego serve
没有报错的话,访问 https://192.168.128.128:5050 就可以看到建房页面了
注意:必须是 https 协议,否则浏览器会阻止音视频的打开
链接:https://blog.csdn.net/jiangyou0k/article/details/109508809