Соединение по TLS в Postgres Pro
Создание сертификата
В этом посте я буду использовать самоподписанный сертификат, но сертификат от Let’s Encrypt тоже подойдёт. Сертификат и ключ желательно держать в той же папке, где лежат конфиги Postgres Pro.
openssl req -x509 -newkey rsa:4096 -nodes -keyout <key>.key -out <cert>.pem -sha256 -days 365
Включение TLS
В файл /var/lib/pgpro/std-*/data/postgresql.conf
необходимо добавить следующие строки:
ssl = on
ssl_cert_file = '<cert>.pem'
ssl_key_file = '<key>.pem'
listen_addresses = 'localhost, <master-ip>'
Разрешение доступа через TLS
В файл /var/lib/pgpro/std-*/data/pg_hba.conf
необходимо добавить следующие строки:
hostssl <user> <database> <client-ip> scram-sha-256
(ре)Генерация пароля
В случае, если до этого хеш-алгоритм пароля был не scram-sha-256, то необходимо пересоздать пароль:
psql -c \password
Перезапуск Postgres Pro
systemctl restart postgres*