У меня есть высокодоступный кластер PostgreSQL / Patroni / Etcd с 3 серверами, который работает за сервером HAProxy (с плавающим IP). И у меня также есть другой кластер высокой доступности для моего реестра Docker, который имеет доменное имя publi c (например, my-registry.com
) с той же конфигурацией высокой доступности.
То, чего я хочу добиться, - это переместить мой PostgreSQL / Patroni / Etcd кластер в тот же кластер с моим Docker реестром. Мой кластер БД не имеет полного доменного имени, поэтому это просто удаленное соединение с IP, в то время как моя служба реестра Docker имеет полное доменное имя (my-registry.com
). Когда я перемещаю свой кластер БД в другой кластер, я больше не могу получить доступ к своей БД, используя IP-адрес, который соответствует my-registry.com
.
Вот ошибка:
db2 = psycopg2.connect(host='<IP address>', port=5000, user='<db_user>',password='<db_pass>', dbname='<db_name>')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.6/dist-packages/psycopg2/__init__.py", line 127, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: received invalid response to SSL negotiation: H
И журнал с сервера HAProxy:
haproxy[31706]: <remote_IP>:48614 [29/Apr/2020:10:46:54.351] postgres postgres/<NOSRV> -1/-1/-1/-1/0 400 187 - - PR-- 1/1/0/0/3 0/0 "<BADREQ>"
Что моя БД имеет какое-либо отношение к согласованию SSL? Я просто хочу получить к нему доступ через IP, как и раньше.