Coturn项目SQLite数据库配置指南

Coturn项目SQLite数据库配置指南

coturn coturn TURN server project coturn 项目地址: https://gitcode.com/gh_mirrors/co/coturn

前言

Coturn作为一款开源的TURN/STUN服务器,在WebRTC等实时通信场景中扮演着重要角色。本文将详细介绍如何在Coturn中使用SQLite数据库进行用户认证和配置管理。

SQLite数据库基础配置

SQLite是一种轻量级的嵌入式数据库,非常适合Coturn这类需要简单数据存储的场景。Coturn默认会在以下位置寻找SQLite数据库文件:

  • /usr/local/var/db/turndb
  • /var/db/turndb(根据不同平台)

数据库初始化

Coturn提供了一个简洁的数据库schema文件,通常位于:

  • 项目源码中的turndb/schema.sql
  • 安装后的PREFIX/share/turnserver/schema.sql

要创建新的SQLite数据库,只需执行:

sqlite3 <your-db-file-name> < turndb/schema.sql

核心表结构解析

1. 长期凭证表(turnusers_lt)

CREATE TABLE turnusers_lt (
    realm varchar(127) default '',
    name varchar(512),
    hmackey char(128),
    PRIMARY KEY (realm,name)
);

此表用于存储长期认证凭证:

  • realm:认证域
  • name:用户名
  • hmackey:HMAC密钥的HEX字符串表示(16字节)

安全提示:Coturn不存储明文密码,只存储HMAC密钥。如果更改realm,必须更新所有用户的HMAC密钥。

2. 共享密钥表(turn_secret)

CREATE TABLE turn_secret (
    realm varchar(127) default '',
    value varchar(127),
    primary key (realm,value)
);

用于REST API的共享密钥认证,可与长期凭证机制配合使用。

3. IP访问控制表

  • allowed_peer_ip:白名单IP范围
  • denied_peer_ip:黑名单IP范围

4. 其他重要表

  • turn_origin_to_realm:origin到realm的映射
  • turn_realm_option:realm配置选项(如带宽限制、配额等)
  • oauth_key:OAuth密钥存储
  • admin_user:HTTPS管理用户

数据库管理工具

Coturn提供了turnadmin工具来管理数据库:

  1. 添加REST API共享密钥:

    turnadmin -s logen -r north.gov -b "/var/db/turndb"
    
  2. 添加长期凭证用户:

    turnadmin -a -b "/var/db/turndb" -u gorst -r north.gov -p hero
    
  3. 添加管理用户:

    turnadmin -A -b "/var/db/turndb" -u ninefingers -p youhavetoberealistic -r north.gov
    

启动参数配置

启动Coturn时,通过--db参数指定数据库路径:

turnserver ... --db="/var/db/turndb"

安全最佳实践

  1. 对于生产环境,建议:

    • 加密存储共享密钥和管理用户密码
    • 定期备份数据库文件
    • 设置适当的文件权限
  2. OAuth密钥配置建议:

    • 为密钥设置合理的lifetime
    • 使用强加密算法(默认A256GCM)

总结

通过SQLite数据库,Coturn可以实现灵活的用户管理和访问控制。本文介绍了数据库的初始化、表结构说明以及基本管理操作。对于需要更高性能或更大规模部署的场景,Coturn也支持PostgreSQL等其他数据库后端。

coturn coturn TURN server project coturn 项目地址: https://gitcode.com/gh_mirrors/co/coturn

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

方蕾嫒Falcon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值