Todos os produtos
Search
Central de documentação

ApsaraDB for ClickHouse:Conexão via HTTPS

Última atualização: Jun 28, 2026

O ApsaraDB for ClickHouse oferece suporte a conexões HTTPS para criptografar o tráfego entre sua aplicação e o cluster. Este tópico demonstra como estabelecer essa conexão usando Java JDBC e curl.

Pré-requisitos

Antes de começar, verifique se você tem:

  • Um cluster do ApsaraDB for ClickHouse na versão 20.8 ou posterior

  • HTTPS ativado no cluster e certificado SSL CA baixado — consulte Ativar HTTPS

  • Endereço IP do cliente adicionado à lista de permissões do cluster — consulte Configurar uma lista de permissões

  • Endpoint público configurado para o cluster, caso o cliente e o cluster estejam em virtual private clouds (VPCs) diferentes

Observações de uso

As conexões HTTPS aumentam o tempo de resposta da rede e a utilização da CPU no cluster.

  • Conexões pela internet: Use HTTPS quando a criptografia de dados for obrigatória.

  • Conexões VPC: Como as redes VPC são privadas e isoladas, geralmente não é necessário usar HTTPS para conexões dentro da mesma VPC.

Conexão via Java JDBC

Etapa 1: Adicionar a dependência JDBC

Adicione a seguinte dependência ao seu projeto Maven:

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

Etapa 2: Reunir informações de conexão

Reúna os seguintes valores antes de escrever o código de conexão:

Variável

Descrição

Valor de exemplo

Endpoint

Endpoint público ou endpoint VPC do cluster. Use o endpoint público se o cliente e o cluster estiverem em VPCs diferentes.

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

Porta HTTPS

Valor fixo para conexões HTTPS.

8443

Nome do banco de dados

Nome do banco de dados de destino.

test01

Conta do banco de dados

Nome de usuário do banco de dados.

test

Senha

Senha da conta do banco de dados.

123456Aa

Caminho do certificado

Caminho local do arquivo do certificado SSL CA baixado.

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

Modo SSL

strict — verifica o certificado do servidor em relação à CA. Use none apenas ao conectar por endereço IP dentro da mesma VPC.

strict

Timeout do socket

Tempo limite de conexão em milissegundos.

7200000 (2 horas)

Etapa 3: Conectar-se ao cluster

Defina todas as configurações SSL por meio de ClickHouseProperties. A URL JDBC usa a porta 8443 e o 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();
    }
}

Substitua os espaços reservados pelos valores reunidos na Etapa 2:

Espaço reservado

Valor de exemplo

<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

Ao conectar por endereço IP, o cliente e o cluster devem estar na mesma VPC, e ssl-mode deve ser definido como none.

Conexão via curl

Use curl para verificar a conectividade HTTPS com uma requisição /ping.

Sintaxe:

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

Exemplo:

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