CentOS 7不会连接到外部的MySQL数据库。 数据库从其他服务器工作

我有一个新的CentOS服务器,使用Apache和php-fpm。

php应用程序无法连接到外部MySQL服务器。 此服务器可从其他服务器访问,数据库服务器上的防火墙不是问题。

我检查了Apache和PHP-FPM日志,但是我找不到任何线索。 如果我通过CentOS服务器上的MySQL连接到外部数据库,没有问题,但php应用程序失败。

这使我得出结论,从客户端到数据库服务器的路线没有任何障碍,但CentOS 7或php-fpm在某处引起麻烦。

有人知道这可能是什么? 我不知道在哪里看。 也许CentOS 7中的一些新的安全性改变我不知道?

这可能是一个SELINUX相关的问题。 尝试以下(按照优先顺序):

  1. setsebool httpd_can_network_connect_db on
    如果有效,使用“-P”标志使其永久。 如果不起作用,请转到步骤2:
  2. setsebool httpd_can_network_connect on
    如上所述,如果工作,使用“-P”标志。 否则,请转到步骤3:
  3. setenforce 0
    这将使SELINUX进入宽容(即非阻塞)模式。 如果有效,你应该试着了解是什么导致selinux阻止你的连接(tail -f /var/log/audit/audit.log是一个很好的起点)。

如果你不明白为什么selinux阻止你,你可以通过编辑文件/ etc / selinux / config来将其设置为永久许可模式

发布这个问题我只是30分钟。 有一个我不知道的SELinuxvariables:httpd_can_network_connect。 设置这个解决了这个问题:)