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 옵션을 꼭 넣어서 하위폴더들도 모두 적용되도록 주의하자!


+ Recent posts