예전부터 Let’s Encrypt 를 통해 웹사이트용 무료 SSL 인증서를 발급 받을수 있다는것은 알고 이었습니다.
하지만 3개월 마다 갱신을 해야한다는 점과 멀티 도메인 인증서가 아닌것으로 알고 있어서 불편하다는 생각에 사용을 꺼렸는데 이번에 확인해보니, 3개월 마다 갱신해야 하는것은 같지만 cron을 통해 자동화 할수 있는 부분이고 발급되는 인증서가 멀티 도메인 SSL 인증서더군요.
보통 멀티도메인 인증서가 30~40만원 하기 때문에 싱글 인증서를 받고 포트를 다르게 해서 https 서비스를 하는 경우가 제법 있습니다. 그런데 Let’s Encrypt의 인증서가 멀티 도메인 인증서기 때문에 하나의 인증서와 기본 포트 443으로 여러개 사이트를 https로 운영할수 있네요.
물론 무한정은 아니고 하나의 인증서로 매달 10개 도메인정도 적용가능한것으로 알고 있습니다. 보통 https를 적용하려면 www붙은 도메인과 안붙은 도메인 둘다 걸어줘야하기 때문에 멀티 도메인 인증서가 아니라면 443 포트 하나로 서비스는 어렵습니다. www 붙은 도메인과 안붙은 도메인을 각각 다른 도메인으로 인식하기 때문에 사실 허용 가능한 도메인 숫자의 절반이라고 생각하면 됩니다.
www에만 https를 적용하면 www를 안붙이고 들어오는 사람들은 https로 포워딩될때 인증서가 작동 안할수 있기 때문에 양쪽 모두 인증서를 설정하고 www를 안붙인 도메인으로 접속하는 사람도 https://www.도메인 으로 포워딩을 해줘야 합니다. 물론 인증서를 1개만 사용하더라도 https 를 타기전에 도메인을 먼저 www.도메인으로 포워딩 하는 방법도 있습니다.
# 설치 방법
Let’s Encrypt는 설치와 갱신이 편리하게 CertBot 터미널 툴을 제공하고 있습니다.
CertBot(https://certbot.eff.org) 사이트에 접속해 자신의 서버환경과 버전을 선택합니다.
그후 아래 나오는 명령어를 순서대로 입력하면 됩니다.
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
./certbot-auto –apache
인증서의 갱신
./certbot-auto renew –dry-run
정상적으로 갱신이 되면 crontab 에 한달에 한번정도 작동하도록 아래 명령어를 설정해주면 됩니다.
/설치된경로/certbot-auto renew