Я пытаюсь подключиться к базам данных ibmcloud, используя lettuce-4.5.0.
Я настроил самозаверяющий сертификат SSL по ссылке, но в соединении возникает ошибка.
Цепочки сертификатов / Корневой сертификат / Самоподписанные сертификаты
https://lettuce.io/core/release/reference/#ssl.certificate-chainsroot-certificateself-signed-certificates
А также проверяю следующую ссылку.
Поддержка TLS драйвера и самозаверяющего сертификата
https://cloud.ibm.com/docs/services/databases-for-redis?topic=databases-for-redis-external-app&locale=ja#driver-tls-and-self-signed-certificate-support
import com.lambdaworks.redis.ClientOptions;
import com.lambdaworks.redis.RedisClient;
import com.lambdaworks.redis.RedisURI;
import com.lambdaworks.redis.SslOptions;
//Create RedisClient
RedisURI redisuri = RedisURI.create("rediss://user:password@host:port/database");
RedisClient redisClient = RedisClient.create(redisuri);
//Create Certificate File
File file = new File("path to file");
FileWriter filewriter = new FileWriter(file);
filewriter.write("Base64 decode of certificate_base64 of VCAP_SEVICES( or service credential)");
filewriter.close();
//set truststore
SslOptions sslOptions = SslOptions.builder()
.jdkSslProvider()
.truststore(file)
.build();
redisClient.setOptions(ClientOptions.builder()
.sslOptions(sslOptions)
.build());
//connect
redisClient.connect();
Однако следующая ошибка возникает при redisClient.connect();
.
причина: ClosedChannelException
detailMessage: Невозможно подключиться к хосту / IP: порт
Я ожидаю, что подключиться к Redis с SSL. Не могли бы вы дать мне совет, если что-то пропало?