Подключение к RDS Postgres через jdbc & c3p0 невозможно получить из базовой базы данных

Попытка подключиться из приложения с использованием C3P0 и последней версии драйвера Postgresql JDBC 9.4.1211.

Мы хотим строка подключения должна быть SSL и иметь хэш-пароль MD5 для учетной записи пользователя:

c3p0 {
  jdbcUrl = "jdbc:postgresql://myserver.rds.amazonaws.com/MyDatabase?ssl=true"
  user = MyAccount
  password = MyPassword
  testConnectionOnCheckout = true
}

Сервер сгенерировал сертификаты SSL, на которые есть ссылка в группе параметров, вместе с ssl = 1 .

] Сертификат был добавлен в JVM cacerts

Мы получаем ошибку:

Причина: java.sql.SQLException: Не удалось получить подключения из базовой базы данных!

Мы хотим, чтобы строка подключения была SSL и имела хэш-пароль MD5 для учетной записи пользователя:

c3p0 {
  jdbcUrl = "jdbc:postgresql://myserver.rds.amazonaws.com/MyDatabase?ssl=true"
  user = MyAccount
  password = MyPassword
  testConnectionOnCheckout = true
}

Сервер сгенерировал сертификаты SSL, которые указаны в группе параметров вместе с ssl = 1 .

Сертификат был добавлен в JVM cacerts

Мы получаем ошибку:

Причина: java.sql.SQLException: Не удалось получить подключения из базовой базы данных!

Мы хотим, чтобы строка подключения была SSL и имела хэш-пароль MD5 для учетной записи пользователя:

c3p0 {
  jdbcUrl = "jdbc:postgresql://myserver.rds.amazonaws.com/MyDatabase?ssl=true"
  user = MyAccount
  password = MyPassword
  testConnectionOnCheckout = true
}

Сервер сгенерировал сертификаты SSL, которые указаны в группе параметров вместе с ssl = 1 .

Сертификат был добавлен в JVM cacerts

Что мы получаем ошибку:

Причина: java.sql.SQLException: Не удалось получить соединения из базовой базы данных! com.mchange.v2.sql.SqlUtils.toSQLException (SqlUtils.java:118) com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection (C3P0Pcom.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection (AbstractPool

Мы можем использовать ту же учетную запись, что и pgadmin], для успешного подключения через psq 121 --- 237493- Завершить TCP-соединение на X секунд (почта / постфикс) У меня есть несколько IP-адресов, с которых отправляются электронные письма. Это выглядит примерно так: IP1, IP2, IP3, IP4 IP1 -> sendmail1, sendmail2, sendmail3 IP2 -> sendmail4, sendmail5, sendmail6, sendmail7, ... IP3 -> sendmail8, sendmail9, sendmail10, ....

У меня есть несколько IP-адресов, с которых отправляются электронные письма. Это выглядит так:

IP1,IP2,IP3,IP4
IP1 -> sendsmail1,sendmail2,sendmail3
IP2 -> sendmail4,sendmail5,sendmail6,sendmail7,...
IP3 -> sendmail8,sendmail9,sendmail10,...
IP4...

Я хочу переключиться на следующий IP-адрес после отправки одного письма:

IP1 -> sendmail1
IP2 -> sendmail2
IP3 -> sendmail3
...

Я попытался создать сценарий, который продолжит поиск последней строки журнала с помощью grep и поиск «отправлено» и если будет обнаружено, что процесс, имеющий порт 25, будет уничтожен, и заставить его пройти через следующий IP-адрес, но требуется перезапустить postfix. Есть ли способ отключить соединение на время, достаточное для переключения на следующий IP-адрес?

-1
задан 5 October 2016 в 13:01
1 ответ

Пусть iptables обрабатывает балансировку nat:

sudo iptables -t nat -I POSTROUTING -m state --state NEW -p tcp --dport 25 -o eth0 -m statistic --mode nth --every 2 --packet 0  -j SNAT --to x.x.x.1
sudo iptables -t nat -I POSTROUTING -m state --state NEW -p tcp --dport 25 -o eth0 -m statistic --mode nth --every 2 --packet 1  -j SNAT --to x.x.x.2

Пример балансировки между 2 ips, Вы можете легко расширить его для большего.

sudo iptables -t nat -I POSTROUTING -m state --state NEW -p tcp --dport 25 -o eth0 -m statistic --mode nth --every 4 --packet 0  -j SNAT --to x.x.x.1
sudo iptables -t nat -I POSTROUTING -m state --state NEW -p tcp --dport 25 -o eth0 -m statistic --mode nth --every 4 --packet 1  -j SNAT --to x.x.x.2
sudo iptables -t nat -I POSTROUTING -m state --state NEW -p tcp --dport 25 -o eth0 -m statistic --mode nth --every 4 --packet 2  -j SNAT --to x.x.x.3
sudo iptables -t nat -I POSTROUTING -m state --state NEW -p tcp --dport 25 -o eth0 -m statistic --mode nth --every 4 --packet 3  -j SNAT --to x.x.x.4
0
ответ дан 5 December 2019 в 20:27

Теги

Похожие вопросы