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/