浏览器说无法连接到PostgreSQL数据库

时间:2014-12-15 16:08:48

标签: postgresql amazon-ec2 database-connection

我正在使用带有PostgreSQL / Apache的Amazon EC2运行Red Hat Linux服务器并遇到了一些问题。当我尝试在浏览器中访问我的应用程序时,出现以下错误:

Unable to connect to the database
could not connect to server: Permission denied
    Is the server running on host "my-private-ip-address" and accepting
    TCP/IP connections on port 5432?

但是,我可以使用PuTTY中的以下命令访问我的数据库。我也可以在pgAdmin中连接到我的数据库。

psql -U username -h my-private-ip -d dbname

我已使用herehere找到的说明编辑了我的pg_hba.confpostgres.conf个文件,但遗憾的是它们并不适用于我。我的入站安全组设置如下:

Type              Protocol     Port Range      Source
Custom TCP Rule   TCP          5432            Anywhere    0.0.0.0/0
HTTP              TCP          80              Anywhere    0.0.0.0/0
HTTPS             TCP          443             Anywhere    0.0.0.0/0

我错过了什么或做错了什么?谢谢你的帮助。

编辑:我刚刚尝试禁用SELinux,然后它能够​​连接到数据库而浏览器中没有错误。但我想保持SELinux的安全性。我想这个问题在某种程度上与文件权限或防火墙设置有关。

编辑v2:我想我已经解决了这个问题,但如果这是正确的做法,我仍然会感谢某人的意见。我发现以下命令here允许Apache和PostgresSQL相互连接:

setsebool -P httpd\_can\_network\_connect\_db on 

1 个答案:

答案 0 :(得分:0)

Apache和PostgreSQL没有互相交谈。要启用它们之间的连接,请使用以下命令:

setsebool -P httpd\_can\_network\_connect\_db on

希望这将有助于将来。