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 instancias recién creadas, pero puede habilitar SSL haciendo referencia a Habilitación o deshabilitación de 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 este motivo, no se recomienda habilitar SSL.
Prerrequisitos
Familiarícese con:
- Conceptos básicos de computadora
- Código Java
Obtención y uso de Java
- Descargue el controlador Jar desde: https://repo1.maven.org/maven2/org/mongodb/mongo-java-driver/3.0.4/
- Para ver la guía de uso, visite https://mongodb.github.io/mongo-java-driver/4.2/driver/getting-started/installation/.
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
en el campo SSL para descargar el certificado raíz o el paquete de certificados. - Para obtener más información sobre cómo configurar una conexión SSL, consulte el documento oficial del controlador Java de MongoDB en https://www.mongodb.com/docs/drivers/java/sync/current/fundamentals/connection/tls/#std-label-tls-ssl.
mongodb://<username>:<password>@<instance_ip>:<instance_port>/<database_name>?authSource=admin&replicaSet=replica&ssl=true
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 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 una EIP, establezca instance_ip en la 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. |
keytool -importcert -trustcacerts -file <path to certificate authority file> -keystore <path to trust store> -storepass <password>
Parámetro | Descripción |
|---|---|
<path to certificate authority file> | Ruta para almacenar el certificado SSL. |
<path to trust store> | Ruta para almacenar el truststore. Establezca este parámetro según sea necesario, por ejemplo, ./trust/certs.keystore. |
<password> | Contraseña personalizada. |
- System.setProperty("javax.net.ssl.trustStore","<path to trust store>");
- System.setProperty("javax.net.ssl.trustStorePassword","<password>");
Para obtener más información sobre el código Java, consulte el siguiente ejemplo:
public class Connector {
public static void main(String[] args) {
try {
System.setProperty("javax.net.ssl.trustStore", "./trust/certs.keystore");
System.setProperty("javax.net.ssl.trustStorePassword", "123456");
ConnectionString connString = new ConnectionString("mongodb://<username>:<password>@<instance_ip>:<instance_port>/<database_name>?authSource=admin&replicaSet=replica&ssl=true");
MongoClientSettings settings = MongoClientSettings.builder()
.applyConnectionString(connString)
.applyToSslSettings(builder -> builder.enabled(true))
.applyToSslSettings(builder -> builder.invalidHostNameAllowed(true))
.build();
MongoClient mongoClient = MongoClients.create(settings);
MongoDatabase database = mongoClient.getDatabase("admin");
//Ping the database. If the operation fails, an exception occurs.
BsonDocument command = new BsonDocument("ping", new BsonInt64(1));
Document commandResult = database.runCommand(command);
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.
mongodb://<username>:<password>@<instance_ip>:<instance_port>/<database_name>?authSource=admin&replicaSet=replica
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 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 una EIP, establezca instance_ip en la 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:
public class Connector {
public static void main(String[] args) {
try {
ConnectionString connString = new ConnectionString("mongodb://<username>:<password>@<instance_ip>:<instance_port>/<database_name>?authSource=admin&replicaSet=replica");
MongoClientSettings settings = MongoClientSettings.builder()
.applyConnectionString(connString)
.retryWrites(true)
.build();
MongoClient mongoClient = MongoClients.create(settings);
MongoDatabase database = mongoClient.getDatabase("admin");
//Ping the database. If the operation fails, an exception occurs.
BsonDocument command = new BsonDocument("ping", new BsonInt64(1));
Document commandResult = database.runCommand(command);
System.out.println("Connect to database successfully");
} catch (Exception e) {
e.printStackTrace();
System.out.println("Test failed");
}
} }

