You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kannel SqlBox报错:sqlbox组不允许获取ssl-client-cipher-list变量求助

解决Kannel SqlBox报错:Trying to fetch variable ssl-client-cipher-list' in group sqlbox', not allowed

环境信息

  • Kannel bearerbox版本:1.4.5
  • 系统:Linux 5.15.0-71-generic(Ubuntu)
  • 编译器:11.2.0
  • 依赖组件:OpenSSL 3.0.0、MySQL 8.0.33
  • SqlBox版本:0.7.2(通过sudo apt-get install kannel-sqlbox安装)

问题现象

Kannel bearerbox和smsbox运行正常,但启动SqlBox时触发如下报错:

Trying to fetch variable ssl-client-cipher-list' in group sqlbox', not allowed

当前使用的sqlbox.conf配置内容:

group = sqlbox
id = sqlbox-db
smsbox-id = sqlboxx
#global-sender = ""
bearerbox-host = localhost
bearerbox-port = 13001
smsbox-port = 13005
smsbox-port-ssl = false
sql-log-table = sent_sms
sql-insert-table = send_sms
log-file = "/var/log/kannel/kannel-sqlbox.log"
log-level = 0
#ssl-client-certkey-file = ""
#ssl-server-cert-file = ""
#ssl-server-key-file = ""
#ssl-trusted-ca-file = ""

# 数据库连接配置
group = mysql-connection
id = sqlbox-db
host = localhost 
username = myuser
password = mypass
database = kannel

问题根源

SqlBox 0.7.2是为Kannel 1.6.x及以上版本开发适配的,而你使用的Kannel是1.4.5旧版本,两者存在配置变量兼容性冲突:

  • 新版Kannel的SqlBox模块新增了ssl-client-cipher-list等SSL相关配置项,但Kannel 1.4.5的核心代码并未定义该变量;
  • 通过Ubuntu apt仓库安装的SqlBox默认适配新版Kannel,和本地旧版Kannel不兼容,导致启动时触发变量读取权限错误。

解决方案

方案1:编译适配Kannel 1.4.5的SqlBox版本

这是最可靠的解决方式,步骤如下:

  1. 卸载当前不兼容的SqlBox:
sudo apt-get remove --purge kannel-sqlbox
  1. 下载与Kannel 1.4.5匹配的SqlBox源码(推荐sqlbox-0.7.0版本,该版本对旧版Kannel兼容性更好):
wget https://github.com/kannel/sqlbox/archive/refs/tags/sqlbox-0.7.0.tar.gz
tar zxf sqlbox-0.7.0.tar.gz
cd sqlbox-sqlbox-0.7.0
  1. 编译前指定Kannel头文件路径(确保已安装Kannel开发依赖包kannel-dev):
./configure --with-kannel-dir=/usr/include/kannel/
make
sudo make install
  1. 使用原配置文件重启SqlBox,验证报错是否消失。

方案2:修改SqlBox源码移除不兼容变量

如果不想更换版本,可以通过修改源码消除冲突:

  1. 在SqlBox源码中搜索ssl-client-cipher-list相关代码(通常位于sqlbox.c或配置解析模块),将对应的变量读取逻辑注释或删除;
  2. 重新编译安装SqlBox,重启服务即可。

方案3:升级Kannel到兼容版本

若业务无旧版依赖,可直接升级Kannel到1.6.x及以上版本,确保和SqlBox 0.7.2版本匹配:

  1. 备份当前Kannel的配置文件、数据库数据;
  2. 卸载旧版Kannel并安装新版:
sudo apt-get remove --purge kannel
sudo apt-get install kannel
  1. 重新配置Kannel和SqlBox,启动后验证功能正常。

内容的提问来源于stack exchange,提问作者Ashok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 04:52:09