최신 브라우저에서는 HTTPS를 지원하지 않는 경우 안전하지 않은 사이트라는 경고 문구가 뜨고 접속이 불가능한 경우가 있습니다. 이 현상을 해결하기 위해서는 HTTPS를 통한 안정적인 암호화 통신을 제공해야 합니다. HTTPS를 위해서는 SSL인증서 발급이 필요합니다.

SSL 인증서는 대부분 유료이지만 무료 SSL 인증서로는 Let’s Encrypt이라는 무료 Certificate Authority에서 제공합니다. Let’s Encrypt의 인증서는 3개월 주기로 새로 발급해야 하지만 무료이고 인증서 발급을 certbot 프로그램을 통해서 자동으로 발급 및 적용이 가능합니다.

본 글은 위 certbot 으로 자동 발급되지 않는 환경에서 인증서를 생성하는 방법을 설명합니다.

Let’s Encrypt로 발급이 힘든 사람은 ZeroSSL로!

Let’s Encrypt를 이용하여 HTTPS 적용을 하려고 하였으나 macOS Server 운영 중인 맥미니에서는 certbot을 이용한 인증서 발급이 정상적으로 동작하지 않습니다. 이런 경우에는 ZeroSSL를 통해 Let’s Encrypt의 인증서를 발급을 수 있습니다.

Zero SSL

ZeroSSL 주소: https://zerossl.com

ZeroSSL은 Wizard를 통해 차례대로 값을 입력하면 인증서를 성공적으로 발급받을 수 있습니다. 발급받은 인증서를 파일로 저장하여 macOS Server에 등록하면 다음과 같이 표시됩니다.

MacOS Server 인증서

이제 등록된 인증서를 이용하여 웹 서비스를 운영하면 됩니다.

ZeroSSL에서의 재발급

3개월이 지난 후 SSL 인증서 재발급을 위해서는 처음 생성할 때 사용한 account-key.txt, domain-crt.txt 를 저장해뒀다면 재발급할 때 이용한다면 사이트 인정만 수행하고 재발급이 가능합니다.

그 외의 서비스 & 보안 걱정

ZeroSSL 외에 사용하기 편한 서비스로는 http://sslforfree.com 이 있습니다. 하지만 ZeroSSL, SSL for free와 같은 서비스는 Private.key를 외부 서비스를 통해 전달받기 때문에 보안적 걱정이 발생한다.