Connessione a un'applicazione esterna
Le applicazioni e i driver utilizzano stringhe di connessione per effettuare una connessione a IBM Cloud® Databases for Redis. Il servizio fornisce stringhe di connessione specificamente per driver e applicazioni. Le stringhe di connessione sono visualizzate nel pannello 'Punti finali della pagina 'Panoramica dell'installazione client e possono essere recuperate anche da 'plug-in CLI Cloud Databases e 'Cloud Databases API.
Le stringhe di connessione possono essere utilizzate da qualsiasi credenziale creata nell'installazione. Sebbene sia possibile utilizzare l'utente amministratore per tutte le connessioni e le applicazioni, sarebbe meglio creare utenti specifici per le applicazioni con cui connettersi. Per ulteriori informazioni, vedere Ottenere le stringhe di connessione.
Stringhe di connessione per le applicazioni
Tutte le informazioni di cui un driver ha bisogno per connettersi all'installazione sono contenute nella sezioneredis" di una credenziale creata nella pagina delle credenziali del servizio. La tabella contiene una ripartizione per riferimento.
| Nome campo | Indice | Descrizione |
|---|---|---|
Type |
Tipo di connessione: per Redis è "URI". | |
Scheme |
Schema per un URI: per Redis, è "rediss". | |
Path |
Percorso per l'URI - per Redis, è il numero del database. | |
Authentication |
Username |
Il nome utente utilizzato per la connessione. |
Authentication |
Password |
Una password per l'utente - potrebbe essere visualizzata come $PASSWORD. |
Authentication |
Method |
Come avviene l'autenticazione; l'autenticazione "diretta" è gestita dal driver. |
Hosts |
0... |
Un nome di host e una porta a cui connettersi. |
Composed |
0... |
Un URI che combina schema, autenticazione, host e percorso. |
Certificate |
Name |
Il nome assegnato per il certificato proprietario del servizio per la distribuzione del database. |
Certificate |
Base64 | Una versione codificata base64 del certificato. |
0...indica che in un array potrebbero essere presenti una o più di queste voci.
I driver Redis sono spesso in grado di effettuare una connessione alla propria distribuzione quando viene fornita la stringa di connessione formattata URI trovata nel campo "composto" delle informazioni di connessione. Ad esempio,
se si imposta la stringa di connessione nella variabile d'ambiente " REDIS_URL, come nell'esempio seguente:
export REDIS_URL=rediss://admin:$PASSWORD@e6b2c3f8-54a6-439e-8d8a-aa6c4a78df49.8f7bfd8f3faa4218aec56e069eb46187.databases.appdomain.cloud:32371/0
Quindi, il client Node.js è in grado di stabilire una connessione con.
let connectionString = process.env.REDIS_URL;
if (connectionString === undefined) {
console.error("Please set the REDIS_URL environment variable");
process.exit(1);
}
let client = null;
client = redis.createClient(connectionString, {
tls: { servername: new URL(connectionString).hostname }
});
In alternativa, è possibile analizzare la stringa di connessione e inviarne le relative parti al gestore connessioni, come nel seguente esempio client Python:
parsed = urlparse(connection_string)
r = redis.StrictRedis(
host=parsed.hostname,
port=parsed.port,
password=parsed.password,
ssl=True,
ssl_ca_certs='/etc/ssl/certs/ca-certificates.crt',
decode_responses=True)
Redis dispone di un array di client per le applicazioni da utilizzare. Un elenco abbastanza completo viene mantenuto sul sito Redis. Alcune cose utili da tenere a mente quando si sceglie un client sono le caratteristiche che consentono di progettare facilmente l'applicazione per il cloud, come la configurazione dell'alta disponibilità, la sicurezza e il supporto dei certificati proprietari del servizio.
Supporto di certificati TLS e proprietari del servizio
Tutte le connessioni a Databases for Redis sono abilitate TLS 1.2, quindi il driver che utilizzi per la connessione deve essere in grado di supportare la crittografia TLS.
Se il tuo driver non supporta il protocollo rediss: o le connessioni TLS/SSL, è ancora possibile effettuare tunnel di connessione all'endpoint del database Redis utilizzando un'applicazione tunnel TLS/SSL come Stunnel. Un esempio
di utilizzo di Stunnel si trova nella pagina Connessione con un client a riga di comando, dove viene utilizzato per connettere l'applicazione " redis-cli ".
Le distribuzioni sono inoltre dotate di un certificato proprietario del servizio, in modo da poter verificare il server all'avvio della connessione. Pur non richiesto, si tratta di un ulteriore passo di sicurezza consigliato se il vostro cliente lo supporta.
Per ulteriori informazioni, vedi Cloud Databases Certificates FAQ.
Utilizzo del certificato proprietario del servizio
- Copiare le informazioni del certificato dal pannello Endpoints o dal campo Base64 delle informazioni di connessione della credenziale del servizio.
- Se necessario, decodificare la stringa Base64 in testo.
- Salvare il certificato in un file. (è possibile utilizzare il Nome fornito o il proprio nome file).
- Fornire il percorso al certificato al conducente o al cliente.
Supporto del plug-in CLI per il certificato proprietario del servizio
Puoi visualizzare il certificato decodificato per la tua distribuzione con il plug-in CLI con un comando come:
ibmcloud cdb deployment-cacert <INSTANCE_NAME_OR_CRN>
Questo comando decodifica Base64 in testo. Copiare e salvare l'output del comando in un file e fornire il percorso del file al client.