使用HTTPS协议连接ClickHouse安全集群
HTTPS是HTTP协议的安全版本,通过在HTTP和TCP之间加入SSL/TLS加密层来保护数据传输安全。您可以通过HTTPS协议连接ClickHouse集群。
使用限制
- 关闭https会给企业服务带来风险。
- 创建集群开启https选项,后续无法关闭。
- 创建集群未开启https选项,后续无法开启。
- 在详情页面开启安全通道后,集群会重启。
- 安全通道和非安全通道同时开启后无法关闭。
打开安全通道
- 登录表格存储服务控制台。
- 控制台左上角选择区域。
- 进入集群管理页面单击右上角的购买集群按钮,进入“购买集群”页面。
- 完成其他配置后,查看安全通道加密按钮是否开启,默认开启。
    
    也可在集群创建成功后在集群详情页打开安全和非安全通道按钮,此时安全通道和非安全通道同时开启。图1 安全通道  
- 配置好参数,单击“立即购买”。
- 进入“规格详情”页面,确认集群规格订单信息,单击“提交”,成功提交集群创建任务,集群创建成功后,进入详情页面查看通道开启状态。
下载安全证书并连接ClickHouse安全集群
- ClickHouse安全集群创建成功后,在集群管理页面,单击“集群名称 > 详情”。
- 进入集群详情页下载证书,单击集群信息模块“通道状态”最右侧的“下载证书”。
- 使用SSH登录工具,通过弹性IP远程登录到Linux弹性云服务器。
    
    具体登录操作步骤请参见《弹性云服务器用户指南》中的“ SSH密码方式登录”。 
- 自定义证书路径,并修改以下配置文件的证书路径,保存后将配置文件放在root路径下。
    
    - <caConfig>/etc/ssl/certificate.crt</caConfig>指存放证书的路径。
- 证书下载限流,一分钟只能下载一次。
 <config> <secure>true</secure> <openSSL> <client> <caConfig>/etc/ssl/certificate.crt</caConfig> </client> </openSSL> </config>
- 连接ClickHouse安全集群。
    
    通过curl命令连接集群。echo 'select 1' | curl -H 'X-ClickHouse-User: user' -H 'X-ClickHouse-Key: password' --cacert /clickhouse/client/client/bin/certificate.crt 'https://host:port/?' --data-binary @- 表1 参数描述 参数 描述 select 1 执行的sql语句。 user 连接集群的用户名。 password 创集群时创建的密码。 /clickhouse/client/client/bin/certificate.crt 指证书存放路径。 host、port host指的是内网地址,port指的是https协议端口。 
 
  