라벨이 ssl인 게시물 표시

가비아 도메인에 letsencrypt 인증서 적용 시키기

이미지
가비아 도메인을 가지고 있다. example.com 을 가지고 있다. 이를 서버에 SSL 적용하고자 한다. 무료인 Let's Encrypt 를 사용하고자 한다. 난 서버를 우분투를 사용한다. $ sudo certbot certonly --manual -preferred-challenges dns -d example.com -d www.example.com 여기서 빨간색으로 나오는 문자열이 중요하다. 이 문자열을 가비아 페이지에 가서 텍스트로 등록하면 된다. 다시 터미널로 가서 엔터를 치면 인증서가 발급이 된다. 인증서는 파일이 다음과 같이 두개 파일이 발급된다.

LetsEncrypt 인증서 wildcard 로 갱신하기

이미지
 letsencrypt 인증서를 사용하고 있다. 분기마다 갱신하는데 그리 귀찮지는 않다. 무료니까.... 그동안 www 로만 서비스 하던걸 앞에 다른 도메인이 필요한 상황이 되었다. 나는 가비아 도메인을 사용하고 있어서 이 명령어를 실행한다. $ sudo certbot certonly --manual --preferred-challenges dns -d example.com -d www.example.com 여기서 빨간색으로 강조된 문자열이 필요하다. 이 문자열을 가비아 페이지에서 등록하면 된다. TXT 타입에 _acme_challenge 내용에 문자열을 입력한다. 이후 ttl 시간 만큼 갱신되는데 시간이 필요하다. 성공하면 두개의 pem 파일이 생성되었다는 것이 보인다. 이 문자열을 하나로 합치면 된다. $ sudo cat /etc/letsencrypt/live/host.com/fullchain.pem /etc.letsencrypt/live/host.com/privkey.pem > /etc/haproxy/host.pem 나는 이렇게 하나의 문자열로 합쳤다. haproxy 에서 ssl 인증서를 host.pem 으로 가져오기 때문이다. 이제 적용이 되었으니 haproxy를 재기동하면 된다. $ sudo systemctl restart haproxy  브라우저에서 열쇠 아이콘을 클릭하면 인증서에 대한 정보를 볼 수 있다.

Let's Encrypt Expiry Bot 메일 조치

 네이버 클라우드에 우분투 서버를 하나 운영하고 있다. 여기에 가비아에서 도메인을 하나 사서 연결시켰음 API 서비스를 위해 https 필요해서 LetsEncrypt 설정하여 Haproxy로 부하분산을 설정했다. 처음에 잘 설정되었다고 생각했는데 인증서 갱신이 되지 않았나보다. 찾아보니 설명이 부실하여 나름 다시 적용하고 정리한다. 1. 80 과 443 포트가 열려 있는지 확인하고 열려 있으면 닫는다. $ netstat -an | grep ':80' $ netstat -an | grep ':443' 만약 열려 있다면 닫는 방법은 haproxy 를 중지하면 된다. $ sudo systemctl stop haproxy 2. standalone 으로 인증서를 발급한다. $ sudo certbot certonly --standalone -d www.example.com 인증서가 발급되면 /etc/letsencrypt/live/www.example.com/ 폴더에 파일이 생성된다. 3. haproxy 에서 사용할 인증서로 생성한다. $ DOMAIN='www.example.com' sudo -E bash -c 'cat /etc/letsencrypt/live/$DOMAIN/fullchain.pem /etc/letsencrypt/live/$DOMAIN/privkey.pem > /etc/haproxy/$DOMAIN.pem' 4. 이제 haproxy 를 다시 기동한다. $ sudo systemctl start haproxy