Programming/Etc

Let's Encrypt 무료 SSL 인증서 발급 방법

통통만두 2019. 5. 20. 20:30
반응형

개인정보가 포함된 웹사이트를 운영할 때 반드시 SSL 인증서를 적용한 https 에서 하도록 법으로 지정을 해놨습니다. 그래서 개인정보가 포함된 웹사이트를 운영할 때 SSL 인증서를 구입, 적용해야 합니다.

그런데 이 SSL 인증서라는게 가격이 만만치 않습니다. 더군다나 서브도메인까지 포함한 인증서를 구매하려면 가격은 더더욱 올라가게 됩니다.

여기저기 알아보다가 결국에는 Let's Encrypt 에서 제공하는 무료 SSL 인증서를 사용해보기로 했습니다.

# 환경

CentOS Linux release 7.6.1810 (Core)

# 준비물

certbot

# 발급방법

발급방법에는 Standalone 방식과 Webroot, DNS방식이 있습니다. Standalone 방식은 운영중인 웹서버를 잠시 내려야 한다는 단점이 있다고 하네요. 그래서 저도 Webroot 방식으로 진행해보도록 하겠습니다.

Certbot 설치

CentOS를 사용하기 있기에 EPEL 저장소를 먼저 활성화 시켜줍니다.

sudo yum install epel-release

그런 다음 아래의 명령어로 certbot를 설치합니다.

sudo yum install certbot
sudo yum install python2-certbot-apache

다른 포스팅에서는 명령어로 인증서를 발급하는 방법이 많이 나와있는데 저도 하다보니 알게 된 사실입니다만, virtualhost 에 이미 설정이 되어 있다면 certbot 명령어를 치시면 설정된 도메인이 나오고 간단한 선택만으로도 SSL 인증서 발급 및 virtualhost에 적용을 자동으로 해주더라구요.

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: marsland.co.kr
2: admin.marsland.co.kr
3: m.marsland.co.kr
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1,2,3
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for admin.marsland.co.kr
http-01 challenge for marsland.co.kr
http-01 challenge for m.marsland.co.kr
Waiting for verification...
Cleaning up challenges
Resetting dropped connection: acme-v02.api.letsencrypt.org
Created an SSL vhost at /etc/httpd/conf.d/httpd-vhosts-le-ssl.conf
Deploying Certificate to VirtualHost /etc/httpd/conf.d/httpd-vhosts-le-ssl.conf
Deploying Certificate to VirtualHost /etc/httpd/conf.d/httpd-vhosts.conf
Deploying Certificate to VirtualHost /etc/httpd/conf.d/httpd-vhosts.conf
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Redirecting vhost in /etc/httpd/conf.d/httpd-vhosts.conf to ssl vhost in /etc/httpd/conf.d/httpd-vhosts-le-ssl.conf
Redirecting vhost in /etc/httpd/conf.d/httpd-vhosts-20190519.conf to ssl vhost in /etc/httpd/conf.d/httpd-vhosts.conf
Redirecting vhost in /etc/httpd/conf.d/httpd-vhosts.conf to ssl vhost in /etc/httpd/conf.d/httpd-vhosts.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://marsland.co.kr,
https://admin.marsland.co.kr, and https://m.marsland.co.kr

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=marsland.co.kr
https://www.ssllabs.com/ssltest/analyze.html?d=admin.marsland.co.kr
https://www.ssllabs.com/ssltest/analyze.html?d=m.marsland.co.kr
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/marsland.co.kr/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/marsland.co.kr/privkey.pem
   Your cert will expire on 2019-08-18. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

설정이 익숙하지 않거나 귀찮으신분들은 아파치 설정부터(virtualhost) 하신 다음 진행하시기를 추천드립니다.

반응형