Todos los productos
Search
Centro de documentos

ApsaraDB for ClickHouse:Conexión mediante HTTPS

Última actualización: Sep 05, 2026

ApsaraDB for ClickHouse admite conexiones HTTPS que cifran el tráfico entre su aplicación y el clúster. Este tema explica cómo establecer la conexión mediante Java JDBC y curl.

Requisitos previos

Antes de empezar, asegúrese de contar con lo siguiente:

  • Un clúster de ApsaraDB for ClickHouse que ejecute la versión 20.8 o posterior

  • HTTPS habilitado en el clúster y el certificado SSL CA descargado; consulte Enable HTTPS

  • La dirección IP del cliente agregada a la lista de permitidos del clúster; consulte Configure a whitelist

  • Un endpoint público configurado para el clúster, si el cliente y el clúster se encuentran en diferentes virtual private clouds (VPC)

Notas de uso

Las conexiones HTTPS incrementan tanto el tiempo de respuesta de la red como la utilización de la CPU en el clúster.

  • Conexiones por Internet: Utilice HTTPS cuando sea obligatorio cifrar los datos.

  • Conexiones VPC: Las redes VPC son privadas y están aisladas. Por lo general, no es necesario usar HTTPS para conexiones dentro de la misma VPC.

Conexión mediante Java JDBC

Paso 1: Agregar la dependencia JDBC

Agregue la siguiente dependencia a su proyecto Maven:

<dependency>
  <groupId>ru.yandex.clickhouse</groupId>
  <artifactId>clickhouse-jdbc</artifactId>
  <version>0.3.1</version>
</dependency>

Paso 2: Recopilar la información de conexión

Reúna los siguientes valores antes de escribir el código de conexión:

Variable

Descripción

Valor de ejemplo

Endpoint

Endpoint público o endpoint VPC del clúster. Utilice el endpoint público si el cliente y el clúster se encuentran en diferentes VPC.

cc-****.public.clickhouse.ads.aliyuncs.com

Puerto HTTPS

Valor fijo para las conexiones HTTPS.

8443

Nombre de la base de datos

Nombre de la base de datos destino.

test01

Cuenta de la base de datos

Nombre de usuario de la base de datos.

test

Contraseña

Contraseña de la cuenta de la base de datos.

123456Aa

Ruta del certificado

Ruta local del archivo donde se descargó el certificado SSL CA.

/user/ck-root-ClickHouse-CA-Chain.pem

Modo SSL

strict: compruebe el certificado del servidor con la CA. Utilice none únicamente al conectarse por dirección IP dentro de la misma VPC.

strict

Tiempo de espera del socket

Tiempo de espera de la conexión en milisegundos.

7200000 (2 horas)

Paso 3: Conectarse al clúster

Toda la configuración de SSL se establece mediante ClickHouseProperties. La URL JDBC utiliza el puerto 8443 y el parámetro ssl=true.

import ru.yandex.clickhouse.ClickHouseConnection;
import ru.yandex.clickhouse.ClickHouseDataSource;
import ru.yandex.clickhouse.settings.ClickHouseProperties;

public void run() throws InterruptedException {
    ClickHouseProperties props = new ClickHouseProperties();
    props.setSslRootCertificate("<certificate-path>");   // path to the SSL CA certificate
    props.setSsl(true);
    props.setSslMode("<ssl-mode>");                      // strict: verify cert against CA; none: skip verification (IP + same VPC only)
    props.setUser("<database-account>");
    props.setPassword("<password>");
    props.setSocketTimeout(<timeout-ms>);                // timeout in milliseconds

    String url = "jdbc:clickhouse://<endpoint>:<HTTPS port number>/<database-name>?ssl=true";
    ClickHouseDataSource dataSource = new ClickHouseDataSource(url, props);

    try {
        final ClickHouseConnection conn = dataSource.getConnection();
        conn.createStatement().executeQuery("select now()");
    } catch (Throwable e) {
        e.printStackTrace();
    }
}

Reemplace los marcadores de posición con los valores recopilados en el Paso 2:

Marcador de posición

Valor de ejemplo

<certificate-path>

/user/ck-root-ClickHouse-CA-Chain.pem

<ssl-mode>

strict

<database-account>

test

<password>

123456Aa

<timeout-ms>

7200000

<endpoint>

cc-****.public.clickhouse.ads.aliyuncs.com

<database-name>

test01

Importante

Al conectarse mediante una dirección IP, el cliente y el clúster deben estar en la misma VPC, y ssl-mode debe establecerse en none.

Conexión mediante curl

Utilice curl para comprobar la conectividad HTTPS mediante una solicitud /ping.

Sintaxis:

curl --cacert <certificate-path> https://<endpoint>:<HTTPS port number>/ping

Ejemplo:

curl --cacert ./ck-root-ClickHouse-CA-Chain.pem https://cc-bp163l724nkf****.clickhouse.ads.aliyuncs.com:8443/ping