您可以通过HTTPS协议访问云数据库ClickHouse。本文介绍如何通过HTTPS协议连接云数据库ClickHouse集群。
使用限制
仅20.8及以上版本的云数据库ClickHouse集群支持通过HTTPS协议连接。
注意事项
- 通过HTTPS协议连接云数据库ClickHouse集群会增加网络连接响应时间。
- 通过HTTPS协议连接云数据库ClickHouse集群会显著增加CPU使用率,建议您在使用外网且有加密需求时,使用HTTPS协议访问云数据库ClickHouse。使用VPC网络相对安全,一般无需使用HTTPS协议访问云数据库ClickHouse。
前提条件
Java JDBC方式连接
语法如下。
public void run()
throws InterruptedException {
final ClickHouseProperties clickHouseProperties = new ClickHouseProperties();
clickHouseProperties.setSslRootCertificate("<证书路径>");
clickHouseProperties.setSsl(true);
clickHouseProperties.setSslMode("<SSL Mode,取值:strict、none>");
clickHouseProperties.setUser("<数据库账号>");
clickHouseProperties.setPassword("<数据库账号的密码>");
clickHouseProperties.setSocketTimeout(<超时时间,单位:毫秒>);
final BalancedClickhouseDataSource dataSource = new BalancedClickhouseDataSource("jdbc:<外网地址、VPC地址或IP地址>:<HTTPS端口号>/<数据库名称>?ssl=true", clickHouseProperties);
try {
final ClickHouseConnection conn = dataSource.getConnection();
conn.createStatement().executeQuery("select now()");
} catch (Throwable e) {
e.printStackTrace();
}
}
说明 如果通过IP地址连接,连接源和云数据库ClickHouse集群需属于同一个VPC且
SSL Mode
取值为none
。
示例如下。
public void run()
throws InterruptedException {
final ClickHouseProperties clickHouseProperties = new ClickHouseProperties();
clickHouseProperties.setSslRootCertificate("/user/ck-root-ClickHouse-CA-Chain.pem");
clickHouseProperties.setSsl(true);
clickHouseProperties.setSslMode("strict");
clickHouseProperties.setUser("test");
clickHouseProperties.setPassword("123456Aa");
clickHouseProperties.setSocketTimeout(2 * 3600 * 1000);
final BalancedClickhouseDataSource dataSource = new BalancedClickhouseDataSource("jdbc:cc-bp163l724nkf****.clickhouse.ads.aliyuncs.com:8443/default?ssl=true", clickHouseProperties);
try {
final ClickHouseConnection conn = dataSource.getConnection();
conn.createStatement().executeQuery("select now()");
} catch (Throwable e) {
e.printStackTrace();
}
}
curl命令行方式连接
语法如下。
curl --cacert <证书路径> https://<外网地址或VPC地址>:<HTTPS端口号>/ping
示例如下。
curl --cacert ./ck-root-ClickHouse-CA-Chain.pem https://cc-bp163l724nkf****.clickhouse.ads.aliyuncs.com:8443/ping