Windows下简单开发了一个nodejs项目,用3000 端口,迁移到虚机centos服务器上时发现本地端口启动可以,但是nginx做域名转发时一直报错:
connect() to 127.0.0.1:3000 failed (13: Permission denied) while connecting to upstream, client: 127.0.0.1, server:
权限问题,于是修改配置文件,nginx启动权限,防火墙端口巴拉巴拉 都不管用,纠结头疼,
后来周一后百度下找到了一个方案:说是SeLinux导致:
1、执行下面的命令
setsebool -P httpd_can_network_connect 1
2、关闭SeLinux
查看SELinux状态:
1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
2、getenforce ##也可以用这个命令检查
关闭SELinux:
1、临时关闭(不用重启机器):
setenforce 0 ##设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式
2、修改配置文件需要重启机器:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
方案转载自itnose,我用第一种方案,完美解决,域名访问成功,感谢开源,感谢博客,感谢分享,