Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Crear un alias DNS personalizado mediante la configuración de un proxy inverso



Alias DNS personalizado mediante la configuración de un proxy inverso

En este artículo de la base de conocimientos, le mostraremos cómo configurar un alias DNS personalizado para su instancia de ClickHouse Cloud mediante un proxy inverso como Nginx para el cliente nativo de ClickHouse.

Crear un certificado autofirmado

Cree un certificado autofirmado con el nombre de dominio que prefiera. En este ejemplo usaremos el nombre de dominio xyz-customdomain.com y crearemos un certificado llamado MyCertificate.crt. Consulte "Crear certificados SSL" para obtener más información.

Agregue el certificado a /etc/clickhouse-client/config.xml:

<clickhouse>
    <openSSL>
        <client>
            <loadDefaultCAFile>false</loadDefaultCAFile>
            <caConfig>/etc/ssl/certs/MyCertificate.crt</caConfig>
            <cacheSessions>true</cacheSessions>
            <disableProtocols>sslv2,sslv3</disableProtocols>
            <preferServerCiphers>true</preferServerCiphers>
            <invalidCertificateHandler>
                <name>RejectCertificateHandler</name>
            </invalidCertificateHandler>
        </client>
    </openSSL>
</clickhouse>

Actualiza la configuración de Nginx

Añade lo siguiente a tu archivo nginx.conf:

proxy_ssl_name xyz.us-west-2.aws.clickhouse.cloud;
proxy_ssl_server_name on;
stream {
    upstream stream_backend {
         server xyz.us-west-2.aws.clickhouse.cloud:9440;
    }

    server {
        listen                9440 ssl;
        proxy_pass            stream_backend;

        ssl_certificate       /etc/ssl/certs/MyCertificate.crt;
        ssl_certificate_key   /etc/ssl/certs/MyKey.key;
        ssl_protocols         SSLv3 TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers           HIGH:!aNULL:!MD5;
        ssl_session_cache     shared:SSL:20m;
        ssl_session_timeout   4h;
        ssl_handshake_timeout 30s;
	proxy_ssl on;
	proxy_ssl_trusted_certificate /etc/ssl/certs/isrgrootx1.pem;
	proxy_ssl_session_reuse on;
        proxy_ssl_verify on;
	proxy_ssl_name xyz.us-west-2.aws.clickhouse.cloud;
	proxy_ssl_server_name on;
    }
}

Donde isrgrootx1.pem es el certificado raíz de ClickHouse Cloud, que puede descargar aquí.

Actualizar el archivo hosts

Añada lo siguiente al archivo /etc/hosts del servidor Nginx:

/etc/hoststext
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost6 localhost6.localdomain6
10.X.Y.Z  xyz-customdomain.com

Donde 10.X.Y.Z es la dirección IP de tu servidor Nginx.

Conectarse a Cloud con un alias

Ahora ya está listo para conectarse con su alias personalizado:

clickhouse-client --host xyz.customdomain.com --secure --password 'xxxxxxx'
ClickHouse client version 23.12.1.428 (official build).
Connecting to xyz.customdomain.com:9440 as user default.
Connected to ClickHouse server version 23.9.2.

clickhouse-cloud :)
Navigation