nginx +tomcat 部署到centos上,nginx做反向代理,登錄系統(tǒng),報錯 "502 bad gateway"
查看nginx錯誤日志,如下:
*2075 connect() to 127.0.0.1:8088 failed (13: Permission denied) while connecting to upstream
解決方案:
- 關(guān)閉selinux
臨時關(guān)閉selinux:
setenforce 0 //設(shè)置SELinux 成為permissive模式
徹底禁用selinux:
使用root用戶,vim /etc/sysconfig/selinux,將SELINUX=enforcing修改成SELINUX=disabled。
重啟后生效。 - 修改網(wǎng)絡(luò)訪問配置的boolean值
getsebool -a | grep httpd_can_network_connect //查看httpd網(wǎng)絡(luò)訪問的配置
httpd_can_network_connect --> off
httpd_can_network_connect_cobbler --> off
httpd_can_network_connect_db --> off
臨時配置
setsebool httpd_can_network_connect=1
寫入配置文件,重啟后保留
setsebool -P httpd_can_network_connect 1
補(bǔ)充:
setsebool命令是用來修改SElinux策略內(nèi)各項規(guī)則的布爾值。setsebool命令和getsebool命令是SELinux修改和查詢布爾值的一套工具組。
語法
setsebool [-P] 布爾值=[0|1]
選項
-P:直接將設(shè)置值寫入配置文件,該設(shè)置數(shù)據(jù)將來會生效的。
setsebool -P allow_ftpd_anon_write=1 #允許ftpd匿名用戶可寫
setsebool -P ftp_home_dir 1 #允許用戶訪問自己的根目錄
setsebool -P ftpd_is_daemon 1 #允許daemon運(yùn)行ftpd
setsebool -P ftpd_disable_trans 1 #關(guān)閉SELINUX對ftpd的保護(hù)
setsebool -P allow_httpd_anon_write=1 #允許httpd匿名用戶可寫
setsebool -P allow_httpd_sys__anon_write=1 #同上
setsebool -P httpd_enable_cgi 1 #httpd被設(shè)置允許cgi被執(zhí)行
setsebool -P httpd_enable_homedirs 1 #允許訪問用戶的根目錄
setsebool -P httpd_tty_comm 1 #允許httpd控制終端
setsebool -P httpd_unified 0 #httpd之間相互獨(dú)立
setsebool -P httpd_builtin_ing 0 #同httpd環(huán)境一樣運(yùn)行
setsebool -P httpd_can_network_connect_db 1 #httpd可以連接到數(shù)據(jù)庫(如連接mysql就必須設(shè)置)
setsebool -P httpd_can_network_connect 1 #httpd可以連接到網(wǎng)絡(luò)(如連接redis就必須設(shè)置)
setsebool -P httpd_read_user_content 1 #開啟用戶文件的訪問權(quán)限(如日志文件就必須設(shè)置)
setsebool -P httpd_suexec_disable_trans 1 #禁用suexec過度
setsebool -P httpd_disable_trans 1 #允許daemon用戶啟動httpd
setsebool -P httpd_can_sendmail 1 #允許httpd發(fā)送email
setsebool -P named_write_master_zones 1 #允許修改dns的主zone文件
setsebool -P named_disable_trans 1 #允許daemon啟動named
setsebool -P nfs_export_all_ro 1 #nfs只讀
setsebool -P nfs_export_all_rw 1 #nfs可讀寫
setsebool -P use_nfs_home_dirs 1 #允許本機(jī)訪問遠(yuǎn)程nfs的根目錄
setsebool -P allow_smbd_anon_write=1 #samba允許匿名用戶可寫
setsebool -P samba_enable_home_dirs 1 #允許根目錄訪問
setsebool -P use_samba_home_dirs 1 #允許本機(jī)訪問遠(yuǎn)程samba根目錄
setsebool -P smbd_disable_trans 1 #允許daemon啟動samba
setsebool -P allow_rsync_anon_write=1 #允許匿名用戶可寫
setsebool -P rsync_disable_trans 1 #允許daemon啟動rsync