我现在的SELinux配置不允许nginx连接localhost:5000
(进行代理传递时)。这是来自的日志SELinux:
type=AVC
msg=audit(***********.*****): avc: denied { name_connect } for
pid=*****
comm="nginx"
dest=5000
scontext=system_u:system_r:httpd_t:s0
tcontext=system_u:object_r:commplex_main_port_t:s0
tclass=tcp_socket
permissive=0
我明白那个nginx有领域 httpd_t
哪个希望被允许连接目的(资源)commplex_main_port_t
。但我不知道如何更改此权限。
我试图设置httpd_can_network_relay
和httpd_can_network_connect
塞布尔但true
即使重新启动后,它仍然无法工作。
答案1
我发现我正在尝试的是正确的:
setsebool -P httpd_can_network_connect true
我只是忘记了该-P
选项,该选项使更改在重新启动后持续存在。
但如果有人读了我的文章,我仍然对更具体的解决方案感兴趣,例如,只允许nginx
连接到localhost:5000