PHP无法连接到CentOS 7 Selinux中的postgreSQL

在迁移到新的VPS并尝试新服务器(Centos 7)上的网站后,Selinux以某种方式阻止http访问Postgresql:

pg_connect():无法连接到PostgreSQL服务器:无法连接到服务器:权限被拒绝主机上运行的服务器“127.0.0.1”,并接受端口6432上的TCP / IP连接

是的,我的postgresql在端口6432,因为我们使用pgbouncer来减less服务器负载。 我search了一下,发现是因为Selinux,所以我使用selinux命令来允许httpd连接到db setsebool -P httpd_can_network_connect_db on ,它的工作方式与我在sel查看Selinuxconfigurationsestatus -b它已打开,但问题仍然存在。 ..

pg_connect():无法连接到PostgreSQL服务器:无法连接到服务器:权限被拒绝主机上运行的服务器“127.0.0.1”,并接受端口6432上的TCP / IP连接

有趣的是,我知道这是因为Selinux原因,当我使用setenforce 0它的工作原理和连接到postgresql没有任何问题。 我该怎么办?

我在BogdanKuštan的帮助下find了解决scheme。 这是因为Selinux接受5432作为Postgresql端口,并且不能与其他端口一起工作。 您可以使用semanage port -l命令检查可接受的端口到Selinux semanage port -l 。 您可以使用“semanage port -a”命令和其他一些参数将端口添加到标记的端口,在我的情况下:

 semanage port -a -t postgresql_port_t -p tcp 6432