GCP의 CentOS 7.x에 nginx를 설치하고나서, html이 있는 경로를 default.conf에 입력 후 접속을 똭!!! 하였는데....
403 에러!?
따로 에러 로그 경로를 변경을 하지 않았기 때문에 에러 로그는 /var/log/nginx/error.log 로 남게 되어 있다.
* 일단 nginx가 의도한 대로 동작을 하지 않으면, centOS 7.x의 버젼의 경우
systemctl status nginx
위의 명령어를 통해서 먼저 서버 상태를 체크할 것!
그 후 에러로그를 확인해봅시다.
에러 로그를 확인해보니 아래의 에러가 발생!
[error] 6266#6266: *1 "/home/test/index.html" is forbidden (13: Permission denied),
이 경우에 구글링을 하게 되면, nginx의 그룹권한 추가, 그리고 상위 폴더에 대한 권한 조정이 대부분 자세히 나오게 된다.
나 또한 이부분을 수정하고 했음에도 동일한 에러가 발생함을 보고 더 찾아보다가 원인을 찾게 되었음.
권한이 없다고 뜨는 /home/test/ 폴더를 아래의 명령어로 조회 해보면 아래와 같이 뜨게 되는데,
아래의 마지막 즈음에 있는 home_root_t라고 되어 있음을 확인할 수 있다.
ls -lZd /home/test/
drwxr-xr-x. test test unconfined_u:object_r:home_root_t:s0 /home/test/
아래 부분을 nginx가 읽을수 있으려면 httpd_sys_content_t가 되어야 한다.
chcon -R -t httpd_sys_content_t /home/test/
-R 옵션을 꼭 넣어서 하위폴더들도 모두 적용되도록 주의하자!
'Server > UNIX & Linux' 카테고리의 다른 글
쉘 스크립트로 로그를 남기기 (0) | 2018.08.14 |
---|---|
[UNIX] 쉘 및 커맨드라인에서 글자색 넣기 (0) | 2018.08.11 |
[AIX] '//' C에서 사용하는 한줄 주석 인식하게 하기 (0) | 2018.08.10 |
네트워크 상태(network status)의 의미 (0) | 2018.08.06 |
자주 만나는 SIGNAL 종류 (0) | 2018.08.02 |