proxy_pass nicht funktioniert, wenn SELinux aktiviert ist, warum?

Ich habe eine Anwendung lauscht auf port 8081 und Nginx läuft auf port 8080. Der proxy-pass-Anweisung sieht wie folgt aus:

$ cat /var/etc/opt/lj/output/services/abc.servicemanager.conf

location /api/abc.servicemanager/1.0 { proxy_pass     http://localhost:8081;}

In nginx.conf ich die Datei als:

include /etc/nginx/conf.d/services/*.conf;

Den /etc/nginx/conf.d/service ist ein symlink:

# ll /etc/nginx/conf.d/

lrwxrwxrwx. 1 root root   39 Dec 10 00:19 services -> ../../../var/etc/opt/lj/output/services

Dies ist ein CentOS 7.0 Aktiviertem SELinux-system. Wenn ich setenforce 0, und machen es zu Freizügig, sehe ich keine Probleme. Also die Datei ist im richtigen Platz und keine Probleme mit Pfaden. Wenn SELinux enforcing, sehe ich Folgendes im audit-log:

type=AVC msg=audit(1418348761.372:100930): avc:  denied  { getattr } for  pid=3936 comm="nginx" path="/var/etc/opt/lj/output/services/abc.servicemanager.conf" dev="xvda1" ino=11063393 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:var_t:s0 tclass=file

Möchte ich wissen, wie zu aktivieren Nginx zu finden, die conf-Datei, ohne zu müssen, um SELinux zu deaktivieren.

Schreibe einen Kommentar