centos 7 상 nginx 오류, open () "test. min. css" failed (13: Permission denied

OS: Centos7
Kernal: 3.10.0-327.el7.x86_64
django 및 해당 nginx 역방향 대 리 를 설정 한 후
웹 이 열 려 서 정적 파일 을 찾 을 수 없 음 을 발 견 했 습 니 다. nginx 로그 보고 permission denied, 검사 과정 은 다음 과 같 습 니 다.
1. 검사 / var / www / static 디 렉 터 리 의 소유자 와 권한, 소유자 가 www (nginx worker 가 www 사용자 로 시작) 이 아 닌 것 을 발견 하면 권한 이 정확 합 니 다.
    chown -R www.www /var/www/static
        수정 후에 도 정적 파일 이 없 음 을 발견 하 였 습 니 다.
2. 어 쩔 수 없어 요. 구 글, stackoverflow 를 발견 하면 다음 과 같이 대답 합 니 다.
24
down vote
I've just had the same problem on a CentOS 7 box.
Seems I'd hit selinux. Putting selinux into permissive mode ( setenforce permissive ) has worked round the problem for now. I'll try and get back with a proper fix.
명령 행 에서 명령 을 실행 한 setenforce permissive 후 리 셋 복구
이런 방법 은 단지 selinux 의 안전 등급 을 낮 추 었 을 뿐, 어떻게 철저하게 해결 하 는 지 에 대해 서 는 아직 연구 하고 있다.
보충:
끊 임 없 는 구 글 + 각종 키 워드 를 통 해 철저한 해결 방법 을 찾 았 습 니 다.
1. audit. log 에 대한 분석 도구 모음 설치
yum install setroubleshoot
2.  접근 가능 한 화이트 리스트 생 성
cat /var/log/audit/audit.log| grep nginx |audit2allow -M mynginx
3. 화이트 리스트 적용
semodule -i mynginx.pp
4. selinux 기본 기능 복원
setenforce enforcing
페이지 새로 고침, 정적 파일 정상, 문제 해결
selinux 의 소 개 를 동봉 합 니 다:
SELinux (Security - Enhanced Linux) 는 미국 국가 안전 국 (NSA) 이 강제 방문 통제 에 대한 실현 으로 Linux 역사상 가장 뛰어난 새로운 안전 서브 시스템 이다.NSA 는 Linux 커 뮤 니 티 의 도움 을 받 아 방문 통제 체 계 를 개 발 했 습 니 다. 이러한 방문 통제 시스템 의 제한 하에 프로 세 스 는 그의 작업 에 필요 한 파일 만 방문 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기