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
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 el campo SSL para descargar el certificado raíz o el paquete de certificados.
mongodb://<username>:<password>@<instance_ip>:<instance_port>/<database_name>?authSource=admin&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 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.
mongodb://<username>:<password>@<instance_ip>:<instance_port>/<database_name>?authSource=admin
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"); } } }