webrtc直播服务 licode docker 外网安装

1、操作系统

[root@xxx ~]# uname -a
Linux iZwz9d0wcbzzl41m47ou4yZ 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@xxx ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 

2、docker安装官方地址:

       官方docker安装

3、创建licode 安装脚本install_licode.sh

 注意:脚本中的your_ip_address 改为实际的外网ip

#!/bin/sh
MIN_PORT=30000;
MAX_PORT=30050;
docker run --name licode -p  3000:3000 -p $MIN_PORT-$MAX_PORT:$MIN_PORT-$MAX_PORT/udp -p 3001:3001  -p 8080:8080 -e "MIN_PORT=$MIN_PORT" -e "MAX_PORT=$MAX_PORT" -e "PUBLIC_IP=your_ip_address" lynckia/licode

4、修改可执行权限

chmod 755 install_licode.sh

5、执行安装

./chmod 755 install_licode.sh

6、安装成功后

[root@xxx ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                                                                            NAMES
e9552a082510        lynckia/licode      "./licode/extras/doc…"   5 hours ago         Up About an hour    0.0.0.0:3000-3001->3000-3001/tcp, 0.0.0.0:8080->8080/tcp, 0.0.0.0:30000-30050->30000-30050/udp   licode

说明:

       a、把相关端口打开,端口有:

   TCP 端口:8080 3000 3001

   UDP 端口:30000/30050 UDP端口需要按照官方文档写。

b、如果是阿里云服务器需要到安全控制里面添加端口访问控制

 

7、查看licode源代码目录

[root@xxx ~]# docker inspect licode|grep MergedDir
                "MergedDir": "/var/lib/docker/overlay2/b34eef08046f08883650c1f7b512f8a6f439cfe80d740b6376ea881d724cb411/merged",

8、部署nginx https 8000代理到3001端口

server {
        listen    8000 ssl;
        server_name  plat.uzntech.cn;
        server_name_in_redirect off;
        ssl on;
        root html;
        index index.html index.htm;
        ssl_certificate   cert/test.pem;
        ssl_certificate_key  cert/test.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;

        access_log  /data/log/nginx/access.8000.log;

        location / {
            proxy_buffer_size 64k;
            proxy_buffers 4 1024k;
            proxy_busy_buffers_size 2048k;
            proxy_temp_file_write_size 1024m;
            proxy_connect_timeout 300;
            proxy_read_timeout 300;
            proxy_send_timeout 300;
            proxy_headers_hash_max_size 51200;
            proxy_headers_hash_bucket_size 6400;
            proxy_pass http://127.0.0.1:3001;
        }
        
    }

9、添加ssl证书到licode目录

cd /var/lib/docker/overlay2/b34eef08046f08883650c1f7b512f8a6f439cfe80d740b6376ea881d724cb411/merged/merged/opt/licode

拷贝证书到
cert/  目录下,按照默认文件名称

[root@xxx cert]# ll
total 16
-rwxr-xr-x 1 root root 3655 Nov 27 14:53 cert.pem
-rwxr-xr-x 1 root root  969 Nov  4 16:27 cert.pem.bak
-rwxr-xr-x 1 root root 1675 Nov 27 14:53 key.pem
-rwxr-xr-x 1 root root  887 Nov  4 16:27 key.pem.bak

10、修改服务ssl方式启动

//你服务器的域名,不配置默认是ip方式,浏览器将不会让访问,报ERR_CERT_COMMON_NAME_INVALID错误
config.erizoController.hostname = 'your_domain_name' 

config.erizoController.ssl = true; //default value: false 

// This configuration is used by erizoController server to listen for connections
// Use true if erizoController listens in HTTPS.
config.erizoController.listen_ssl = true; //default value: false

11、重启licode

docker restart licode

12、查看日志

docker logs -f licode

13、访问测试地址:

    https://your_out_net_ip:8000/ 

14、文件分享功能开启

  const config = { audio: true,
    video: !configFlags.onlyAudio,
    data: true,
    screen: true, //改为true
    attributes: {} };
  // If we want screen sharing we have to put our Chrome extension id.
  // The default one only works in our Lynckia test servers.
  // If we are not using chrome, the creation of the stream will fail regardless.
  if (configFlags.screen) {
  //  config.extensionId = 'okeephmleflklcdebijnponpabbmmgeo'; //屏蔽这一行
  }
  Erizo.Logger.setLogLevel(Erizo.Logger.INFO);

 路径下的 /licode/erizo_controller/erizoClient/extras/chrome-extension/manifest.json修改为如下:

key是为了固定住浏览器插件的id

{
   "background": {
      "persistent": true,
      "scripts": [ "script.js" ]
   },
   "browser_action": {
      "default_icon": "lynckia_icon_16.png"
   },
   "description": "Extension to allow screen sharing in Licode applications.",
   "externally_connectable": {
      "matches": [ "https://plat.gzhaochuan.com:8016/*"] 
   },
   "icons": {
      "128": "lynckia_icon_128.png",
      "16": "lynckia_icon_16.png",
      "48": "lynckia_icon_48.png"
   },
   "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm33R+7NW447+thHox8b5IVmKohsiliZOSS+RltfO9rVF2+F6qP3H94fk/UgoyjC9rDtJFM81zRUWwHDzbH01VbQeOW7t/eP8/qsAZwXHbxSAEAO8EUvWGgTL50w3iyHAnLwhuCucV6qdbvQcamJBFt9Ohm18ooZfSg7phwMCZQ/8uwDu/DxjJsuKYseLPBXjkuQEzmQMGnZwxtXUDgsd9kU6/dj8YuRXcdqDykVTpdOBrdeHrJ6E4QRowHkYk++/lo2BaZLYpkSEy7uG7Tq+j/eYSrSnOfHKU0wU3zvk18vmA0VY/lCHreF9ApxpRV0RxaYugtyvM0EqvZiHvcB5iwIDAQAB",
   "manifest_version": 2,
   "minimum_chrome_version": "34",
   "name": "Lynckia Screensharing",
   "permissions": [ "desktopCapture" ],
   "short_name": "Screen sharing for lynckia",
   "update_url": "https://clients2.google.com/service/update2/crx",
   "version": "0.0.0.1"
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值