标签 nginx 下的文章

添加允许通过服务

查看所有服务 firewall-cmd --get-services

firewall-cmd --add-service=http

firewall-cmd --add-service=https

参考:

打开443/TCP端口

firewall-cmd --add-port=443/tcp

永久打开3690/TCP端口

firewall-cmd --permanent --add-port=3690/tcp

更新后重新加载

firewall-cmd --reload

查看防火墙,添加的端口也可以看到

firewall-cmd --list-all

事情是这样:nginx 反向代理 php-fpm, php脚本中使用php-redis,实例化Redis对象,并connect本地的redis服务器。本地root账号运行php xxx.php是没有问题的,结果使用http访问时报Permission denied。
如果不提示错误,有可能是php.ini的配置项display_errors是关闭的。

最终找到原因是selinux的安全设置。可以用这个getsebool -a | grep httpd 查看到
httpd_can_network_connect --> off

可以通过下述命令修改
SELinux命令,临时配置,重启后失效
setsebool httpd_can_network_connect=1

写入配置文件的命令,重启后保留
setsebool -P httpd_can_network_connect 1

其它配置项参考 https://wiki.centos.org/zh/TipsAndTricks/SelinuxBooleans