场景

        微信小程序只能通过域名和https访问网络资源,因此在nginx-rtmp-module配置HTTPS证书


配置内容

打开conf/nginx.conf文件,拷贝已有的server配置,复制一份粘贴到已有的server下方,然后修改端口为443

 server {
        listen      443;
        ssl on;
        ssl_certificate   server.crt;
        ssl_certificate_key  server.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        add_header Access-Control-Allow-Origin '*';


测试

       ffplay.exe  https://192.168.58.173:443/hls/2/index.m3u8

 

注意

1)HTTPS证书必须拷贝到conf文件夹,跟nginx.conf文件同一级目录,并且不能指定绝对路径

        ssl_certificate   server.crt;
        ssl_certificate_key  server.key;

   指定绝对路径出错提示:

nginx: [emerg] BIO_new_file("E:\cvos_srtmp_service\nginx/conf\‪F:\example\ssls\Debug\server.crt") failed (SSL: error:0200107B:system library:fopen:Unknown error:fopen('E:\cvos_srtmp_service\nginx/conf\‪F:\example\ssls\Debug\server.crt','r') error:2006D002:BIO routines:BIO_new_file:system lib)

从路径就可以看出,nginx还多添加了配置文件的路径,导致读取HTTPS证书失败