Azure Ubuntu虚拟机中ClickHouse 8123端口无法外部访问求助
解决Azure Ubuntu虚拟机上ClickHouse 8123端口外部无法连接的问题
根本原因
从你提供的ss -atn | grep 8123输出可以明确:ClickHouse的8123端口只监听了本地回环地址(127.0.0.1和::1),这意味着只有虚拟机内部的请求能被处理,外部网络的请求根本无法到达服务进程,和Azure的入站规则无关。
解决步骤
1. 修改ClickHouse监听配置
- 进入ClickHouse配置目录:
cd /etc/clickhouse-server - 编辑主配置文件
config.xml(如果使用自定义配置,编辑config.d下的对应文件即可):sudo nano config.xml - 找到
<listen_host>节点,默认配置可能是:
将其修改为监听所有IPv4地址:<listen_host>127.0.0.1</listen_host>
如果需要同时支持IPv6访问,再添加一行:<listen_host>0.0.0.0</listen_host><listen_host>::</listen_host> - 保存并退出编辑器(nano编辑器按
Ctrl+O确认保存,回车,再按Ctrl+X退出)。
2. 重启ClickHouse服务
sudo systemctl restart clickhouse-server
3. 验证监听状态
再次执行命令检查端口监听情况:
ss -atn | grep 8123
正常输出应包含以下内容,说明服务已开始监听所有网卡的8123端口:
LISTEN 0 4096 0.0.0.0:8123 0.0.0.0:* LISTEN 0 4096 [::]:8123 [::]:*
4. 确认Azure入站规则(可选,二次检查更稳妥)
- 登录Azure门户,找到目标虚拟机,进入网络设置界面。
- 检查入站端口规则,确保规则满足:
- 源:你的外部IP地址(或需要开放的IP范围)
- 端口范围:8123
- 协议:TCP
- 动作:允许
5. 测试外部连接
从外部环境执行测试命令验证连接:
curl http://<你的公网IP>:8123/?query=SELECT%201
如果返回1,说明外部连接已成功建立。
内容的提问来源于stack exchange,提问作者Switch386
相关产品推荐
相关产品推荐

