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,我用第一種方案,完美解決,域名訪問成功,感謝開源,感謝博客,感謝分享,