SELinux 때문에 Let's encrypt 에서 발급한 SSL 인증서를 읽지 못할때

 

증상

다음과 같이 SSL 인증서와 개인키를 읽지 못해서 웹 서버가 구동하지 못함

 

Sep 09 13:50:35 example.com httpd[24319]: AH00526: Syntax error on line 74 of /etc/httpd/conf.d/ssl.conf:
Sep 09 13:50:35 example.com httpd[24319]: SSLCertificateKeyFile: file '/etc/letsencrypt/live/example.com/example.com.pki
Sep 09 13:50:35 example.com kernel: type=1400 audit(1473396635.794:54): avc: denied { getattr } for pid=24319 comm
Sep 09 13:50:35 example.com systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE

 

원인

인증서와 개인키는 cert_t context 를 가져야 하나 다른 context 라 SELinux 가 접근을 차단함

 

조치

chcon 으로 보안 context  변경

chcon -R -t cert_t /etc/letsencrypt/archive/ /etc/letsencrypt/live/