let_s_encrypt_certbot_ssl_with_haproxy

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

let_s_encrypt_certbot_ssl_with_haproxy [2019/12/02 13:26]
koov 만듦
let_s_encrypt_certbot_ssl_with_haproxy [2020/02/21 16:01] (현재)
koov
줄 51: 줄 51:
  
 ''​http-01-port=8888''​ 옵션을 사용함으로 인해서 이후 갱신시에도 certbot이 8888로 수신 대기 상태를 시도합니다. ''​http-01-port=8888''​ 옵션을 사용함으로 인해서 이후 갱신시에도 certbot이 8888로 수신 대기 상태를 시도합니다.
 +
 +===== 인증서 HAProxy용 통합파일 구성 =====
 +
 +인증서 파일들이 생성된 이후 haproxy에 등록해서 사용할때 각각의 파일이 아닌 하나로 통합하여 등록해 사용하는경우 파일을 하나로 합쳐주는 작업이 필요하다.
 +본인은 아래 스크립트를 만들어서 활용한다.
 +
 +<WRAP prewrap>
 +<code vim /​etc/​letsencrypt/​copy_ssl.sh>​
 +#!/bin/bash
 +# 갱신된 인증서 haproxy로 복제
 +cat /​etc/​letsencrypt/​live/​plex.koov.net/​cert.pem /​etc/​letsencrypt/​live/​plex.koov.net/​privkey.pem /​etc/​letsencrypt/​live/​plex.koov.net/​chain.pem > /​etc/​haproxy/​ssl/​plex.koov.net.pem
 +cat /​etc/​letsencrypt/​live/​allthatlinux.com/​cert.pem /​etc/​letsencrypt/​live/​allthatlinux.com/​privkey.pem /​etc/​letsencrypt/​live/​allthatlinux.com/​chain.pem > /​etc/​haproxy/​ssl/​allthatlinux.com.pem
 +cat /​etc/​letsencrypt/​live/​linuxdata.kr/​cert.pem /​etc/​letsencrypt/​live/​linuxdata.kr/​privkey.pem /​etc/​letsencrypt/​live/​linuxdata.kr/​chain.pem > /​etc/​haproxy/​ssl/​linuxdata.kr.pem
 +cat /​etc/​letsencrypt/​live/​nas.koov.net/​cert.pem /​etc/​letsencrypt/​live/​nas.koov.net/​privkey.pem /​etc/​letsencrypt/​live/​nas.koov.net/​chain.pem > /​etc/​haproxy/​ssl/​nas.koov.net.pem
 +
 +# 생성한 후 haproxy 서비스 재기동
 +systemctl restart haproxy
 +</​code>​
 +</​WRAP>​
 +
 +만들어진 스크립트는 인증서가 갱신될때 실행되어야 하기 때문에 아래와 같이 기본 설치된 certbot cron스크립트 내에 추가하도록 한다.
 +
 +<WRAP prewrap>
 +<code vim /​etc/​cron.d/​certbot>​
 +# /​etc/​cron.d/​certbot:​ crontab entries for the certbot package
 +#
 +# Upstream recommends attempting renewal twice a day
 +#
 +# Eventually, this will be an opportunity to validate certificates
 +# haven'​t been revoked, etc.  Renewal will only occur if expiration
 +# is within 30 days.
 +#
 +# Important Note!  This cronjob will NOT be executed if you are
 +# running systemd as your init system. ​ If you are running systemd,
 +# the cronjob.timer function takes precedence over this cronjob. ​ For
 +# more details, see the systemd.timer manpage, or use systemctl show
 +# certbot.timer.
 +SHELL=/​bin/​sh
 +PATH=/​usr/​local/​sbin:/​usr/​local/​bin:/​sbin:/​bin:/​usr/​sbin:/​usr/​bin
 +
 +0 */12 * * * root test -x /​usr/​bin/​certbot -a \! -d /​run/​systemd/​system && perl -e 'sleep int(rand(43200))'​ && certbot -q renew
 +
 +### 이곳에 추가한다.
 +10 */12 * * * root /​etc/​letsencrypt/​copy_ssl.sh
 +
 +</​code>​
 +</​WRAP>​
 +
 +
 +===== 참조링크 =====
 +  * https://​stevenwestmoreland.com/​2017/​11/​renewing-certbot-certificates-using-a-systemd-timer.html
 +  * https://​wiki.debianusers.or.kr/​index.php?​title=Certbot
  
  
  • let_s_encrypt_certbot_ssl_with_haproxy.txt
  • 마지막으로 수정됨: 2020/02/21 16:01
  • 저자 koov