jitsi-开源音视频会议服务搭建之: docker安装并启用https

本教程将实现多人语音视频通话以及即时通讯的测试案例,搭建方法适用于Centos和Ubuntu,其他服务器未经过测试。

1、docker安装

看这里:https://agao88.com/170.html

2、下载最新安装包

$ cd /opt
$ git clone https://github.com/jitsi/docker-jitsi-meet
如果下载慢,可以到https://github.com/jitsi/docker-jitsi-meet/releases下载最新包

3、拷贝配置文件env.example重命名为.env

$ cd /opt/docker-jitsi-meet
$ cp env.example .env

4、设置强密码

$ ./gen-passwords.sh

5、创建配置所需的目录

$ mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri}

6、配置防火墙

$ sudo firewall-cmd --permanent --add-port=80/tcp
$ sudo firewall-cmd --permanent --add-port=443/tcp
$ sudo firewall-cmd --permanent --add-port=4443/tcp
$ sudo firewall-cmd --permanent --add-port=10000/udp
$ sudo firewall-cmd --reload

7、编辑.env,配置域名以及https

$ vim .env

CONFIG=~/.jitsi-meet-cfg #当jitsi启动后会生成相关的配置文件,不需要改

HTTP_PORT=8000 #这是http访问的端口,可以设置成其他端口并通过nginx代理

HTTPS_PORT=8443 #这是https访问的端口,可以设置成其他端口并通过nginx代理

TZ=Asia/Shanghai #时区

PUBLIC_URL=https://jitsi.agao88.com #这是对外访问域名,这里是我测试用的,首先需要将域名解析到服务器

ENABLE_LETSENCRYPT=1 #去掉注释,ssl证书使用Let’s Encrypt

LETSENCRYPT_DOMAIN=jitsi.agao88.com #证书属于该域名

ENABLE_HTTP_REDIRECT=1 #HTTP流量重定向到HTTPS

8、因为我装了nginx的缘故,所以采用nginx转发

server
{
    listen 80;
    server_name jitsi.agao88.com;
    location / {
        proxy_pass http://localhost:8000;
        proxy_set_header Host $host:8000;  # 这个是重点,$host 指的是与server_name相同的域名
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header        Host            $host;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_redirect off;
        client_max_body_size 10m;
        client_body_buffer_size 128k;
        proxy_connect_timeout 90;
        proxy_read_timeout 90;
        proxy_buffer_size 4k;
        proxy_buffers 6 128k;
        proxy_busy_buffers_size 256k;
        proxy_temp_file_write_size 256k;
    }
}
server
{
	  listen 443 ssl http2;
	  server_name jitsi.agao88.com;
	  location / {
      proxy_pass https://localhost:8443; 
      proxy_set_header Host $host:8443;  # 这个是重点,$host 指的是与server_name相同的域名
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      proxy_set_header        Host            $host;
      proxy_set_header        X-Real-IP       $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_redirect off;
      client_max_body_size 10m;
      client_body_buffer_size 128k;
      proxy_connect_timeout 90;
      proxy_read_timeout 90;
      proxy_buffer_size 4k;
      proxy_buffers 6 128k;
      proxy_busy_buffers_size 256k;
      proxy_temp_file_write_size 256k;
    }

    ssl_certificate    /root/.acme.sh/agao88.com/agao88.com.cer;
    ssl_certificate_key    /root/.acme.sh/agao88.com/agao88.com.key;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    add_header Strict-Transport-Security "max-age=31536000";
    error_page 497  https://$host$request_uri;
}

以上配置了 jitsi.agao88.com分别在80和443的转发,只需要修改ssl_certificate和ssl_certificate_key的路径,替换成你自己为你的域名申请的Let’s Encrypt证书

8、运行:

$ docker-compose up -d
jitsi-开源音视频会议服务搭建之: docker安装并启用https插图
这样就启动成功了

9、测试与总结

浏览器里打开 http://jitsi.agao88.com会自动跳转https上,创建一个会议

jitsi-开源音视频会议服务搭建之: docker安装并启用https插图1
jitsi-开源音视频会议服务搭建之: docker安装并启用https插图2
这样就加入会议了,然后在其他设备上输入会议地址即可加入到会议里进行音视频通话以及即时通讯

关于如何创建Let’s Encrypt证书,请查看文章:https://agao88.com/177.html

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论