Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-02-21 GMT+08:00

Java

Si se está conectando a una instancia mediante Java, un certificado SSL es opcional, pero descargar un certificado SSL y cifrar la conexión mejorará la seguridad de su instancia. SSL está deshabilitado de forma predeterminada para las instancias recién creadas, pero puede habilitar SSL haciendo referencia a Habilitar o deshabilitar SSL. SSL cifra las conexiones a las bases de datos, pero aumenta el tiempo de respuesta de la conexión y el uso de la CPU. Por esta razón, no se recomienda habilitar SSL.

Prerrequisitos

Familiarícese con:

  • Conceptos básicos de la computadora
  • Código Java

Uso de un certificado SSL

Descargue el certificado SSL y verifique el certificado antes de conectarse a las bases de datos.

En el área DB Information de la página Basic Information, haga clic en el campo SSL para descargar el certificado raíz o el paquete de certificados.

Si se conecta a una instancia de clúster mediante Java, el formato del código es el siguiente:
mongodb://<username>:<password>@<instance_ip>:<instance_port>/<database_name>?authSource=admin&ssl=true
Tabla 1 Descripción del parámetro

Parámetro

Descripción

<username>

Nombre de usuario actual.

<password>

Contraseña para el nombre de usuario actual

<instance_ip>

Si intenta obtener acceso a la instancia desde un ECS, establezca el instance_ip en la dirección IP privada que se muestra en la página Basic Information de la instancia a la que desea conectarse.

Si tiene la intención de acceder a la instancia a través de un EIP, establezca instance_ip en el EIP que se ha enlazado a la instancia.

<instance_port>

Puerto de la base de datos que se muestra en la página Basic Information. Valor predeterminado: 8635

<database_name>

Nombre de la base de datos que se va a conectar.

authSource

Base de datos de usuarios de autenticación. El valor es admin.

ssl

Modo de conexión. true indica que se utiliza el modo de conexión SSL.

Para obtener más información sobre el código Java, consulte el siguiente ejemplo:

import com.mongodb.ConnectionString;
import com.mongodb.reactivestreams.client.MongoClients;
import com.mongodb.reactivestreams.client.MongoClient;
import com.mongodb.reactivestreams.client.MongoDatabase;
import com.mongodb.MongoClientSettings;
public class MyConnTest { 
    final public static void main(String[] args) { 
	try {
        // set ssl 
	ConnectionString connString = new ConnectionString("mongodb://rwuser:<password>@192.*.*.*:8635,192.*.*.*:8635/test?authSource=admin&ssl=true");
	MongoClientSettings settings = MongoClientSettings.builder()
		.applyConnectionString(connString)
		.retryWrites(true)
		.build();
	MongoClient mongoClient = MongoClients.create(settings);
	MongoDatabase database = mongoClient.getDatabase("test");
     System.out.println("Connect to database successfully");  
	} catch (Exception e) { 
            e.printStackTrace(); 
            System.out.println("Test failed"); 
        } 
}
} 

Conexión sin el certificado SSL

No es necesario descargar el certificado SSL porque no se requiere la verificación del certificado en el servidor.

Si se conecta a una instancia de clúster mediante Java, el formato del código es el siguiente:
mongodb://<username>:<password>@<instance_ip>:<instance_port>/<database_name>?authSource=admin
Tabla 2 Descripción del parámetro

Parámetro

Descripción

<username>

Nombre de usuario actual.

<password>

Contraseña para el nombre de usuario actual

<instance_ip>

Si intenta obtener acceso a la instancia desde un ECS, establezca el instance_ip en la dirección IP privada que se muestra en la página Basic Information de la instancia a la que desea conectarse.

Si tiene la intención de acceder a la instancia a través de un EIP, establezca instance_ip en el EIP que se ha enlazado a la instancia.

<instance_port>

Puerto de la base de datos que se muestra en la página Basic Information. Valor predeterminado: 8635

<database_name>

Nombre de la base de datos que se va a conectar.

authSource

Base de datos de usuarios de autenticación. El valor es admin.

Para obtener más información sobre el código Java, consulte el siguiente ejemplo:

import com.mongodb.ConnectionString;
import com.mongodb.reactivestreams.client.MongoClients;
import com.mongodb.reactivestreams.client.MongoClient;
import com.mongodb.reactivestreams.client.MongoDatabase;
import com.mongodb.MongoClientSettings;
public class MyConnTest { 
    final public static void main(String[] args) { 
	try {
        // no ssl 
	ConnectionString connString = new ConnectionString("mongodb://rwuser:<password>@192.*.*.*:8635,192.*.*.*:8635/test?authSource=admin");
	MongoClientSettings settings = MongoClientSettings.builder()
		.applyConnectionString(connString)
		.retryWrites(true)
		.build();
	MongoClient mongoClient = MongoClients.create(settings);
	MongoDatabase database = mongoClient.getDatabase("test");
     System.out.println("Connect to database successfully");  
	} catch (Exception e) { 
            e.printStackTrace(); 
            System.out.println("Test failed"); 
        } 
}
}