После миграции на новый VPS и проверки веб-сайта на новом сервере (Centos 7) Selinux каким-то образом предотвращает доступ http к Postgresql:
pg_connect (): невозможно подключиться к серверу PostgreSQL: невозможно подключиться к серверу: в разрешении отказано. Сервер работает на хосте «127.0.0.1» и принимает соединения TCP / IP на порт 6432
и да, мой postgresql на порту 6432 из-за pgbouncer, который мы используем для уменьшения нагрузки на сервер. Я погуглил и узнал, что это из-за Selinux, поэтому я использовал команды selinux, чтобы разрешить httpd-соединение с db setsebool -P httpd_can_network_connect_db on
и он работает, как когда я смотрю в конфигурацию Selinux с sestatus -b
это повернулось ON
но проблема все еще существует ...
pg_connect (): невозможно подключиться к серверу PostgreSQL: невозможно подключиться к серверу: в разрешении отказано. Сервер работает на хосте «127.0.0.1» и принимает TCP / IP-соединения на порту 6432
Забавно то, что я знаю, что это из-за Selinux, когда я использую setenforce 0
Он работает и без проблем подключается к postgresql. что я должен делать?
Я нашел решение с помощью Богдан Куштан. Это потому, что Selinux принимает 5432 как порт Postgresql и не работает с другими портами. Вы можете проверить допустимые порты для помеченного порта Selinux с помощью semanage port -l
команда. Вы можете добавить порты к помеченным портам с помощью команды "semanage port -a" с некоторыми другими параметрами и в моем случае:
semanage port -a -t postgresql_port_t -p tcp 6432