티스토리 뷰
공공의 이익을 위해 모든 사람들에게 비용없이 인증서를 발급해주는 비영리 인증기관인 let's encrypt의 인증서를 이용해보세요
정말로 비용없이 내가 운영하고 있는 웹사이트에 적용할 SSL 인증서를 발급받을 수 있습니다
세상 참 좋은 방향으로 발전하고 있는거 아니겠어요?
라떼는 인증서 비용도 참 부담되는 가격이었는데 말이죠.
특히나 와일드카드인증서는 더 비쌌어요
지금 제 기억에도 옛날에 3년짜리를 150만원 주고 샀었던가 하는 기억이 있네요.
요즘엔 그래도 저렴한 단일 도메인 인증서는 1만원 이내에도 구입할수 있긴하지만
이렇게 무료로 사용할수 있는 옵션도 우리에게 있으니
운영중인 웹사이트에 tls/ssl을 적용하지 않을 이유가 있나요?
그리고 certbot을 통해서 매우 쉽게 인증서를 요청하고 발급받을수 있습니다.
저는 대부분은 nginx환경에서 certbot을 사용했는데요
certbot을 실행하고 몇가지 응답만 완료하면
자동적으로 ssl 발급에다가 nginx conf 파일까지 수정해주니 정말로 편하답니다.
최근에 centos7 + apache 조합을 사용하고 있는 웹서버에 와일드카드 ssl 인증서를 certbot을 이용해서 발급해보았는데요
아파치의 conf파일이 자동적으로 수정되지는 않았지만
dns인증을 통해 도메인 소유를 검증하고, 인증서를 무사히 발급받아 적용했답니다.
3개월짜리라는 한계가 있긴 하지만, 명령어 한번이면 재발급을 받을 수 있으니 이 과정마저 자동화해놓으면 되겠죠?
비용절감! 비용절감!
그렇다면 저와 centos7 + apache 환경에서 적용을 어떻게 했는지 알아볼께요
다음과 같이 필요 패키지를 설치 합니다.
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum -y install certbot python2-certbot-apache httpd
ssl을 적용하려는 도메인이 example.com 이라고 가정합니다.
그리고 아파치의 conf 파일을 수정합시다.
sudo vim /etc/httpd/conf.d/example.com.conf
이런데나 아니면 요런데에 conf파일을 두셨겠죠?
sudo vim /etc/apache2/sites-available/api.example.com.conf
ServerName이 맞게 설정되어있는지 확인해주시구요
ServerName example.com
그리고 certbot 명령어를 실행합니다
certbot 명령어의 옵션에서 preferred-challenges=dns로 설정되어있는데 dns를 통한 인증방식을 사용하겠다는 옵션입니다.
dns 옵션말고 http 방식의 옵션도 있는데 제가 알기론(?) 아마도(?) 와일드카드 인증서는 dns 방식의 인증만 가능한것으로 보입니다.
명령어가 성공적으로 입력되었다면
위의 사진처럼 dns를 통한 도메인의 인증을 요청하는데요
dns의 txt 레코드로 제공된 랜덤한 문자열을 등록하라고 알려줍니다.
여기서 발급된 문자열을 여러분의 dns에서 설정해주시면 됩니다.
여러분의 상황에 따라 dns 적용을 한다고 바로 배포가 되는것은 아니니 dns 적용후에 dns에 반영될만한 적당한 시간차를 두고 엔터를 눌러 다음과정을 진행하면 됩니다.
nslookup -q=txt _acme-challenge.example.com
txt 레코드가 잘 등록되었는지는 위의 명령어로 확인해볼수 있어요
정상적으로 모든 절차가 완료되었다면 아래와 같은 메시지를 만나볼수 있습니다.
/etc/letsencrypt/live/도메인 폴더에 인증서가 저장되었다고 하는군요
그리고 친절하게 인증서 만료일도 알려줍니다.(3개월)
재발급을 위해서는 certbot renew 라고 입력해달라고 친절히 안내해주고있네요
인증서가 저장된 폴더로 이동하면 cert.pem과 privkey.pem fullchain.pem 파일이 있는것을 확인할 수 있는데요
다시 apache conf파일을 열어 원하는곳에 아래와 같이 입력해주고
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/fullchain.pem
이제 아파치를 재실행해주면 무사히 와일드카드 인증서의 적용을 마치게 됩니다.
그렇게 어렵지 않죠?
'WEB2.0 > 프로그래밍' 카테고리의 다른 글
AWS CLI credential 정보 백업, 복원하기 (0) | 2021.04.07 |
---|---|
ios 빌드시 Build input files cannot be found: 오류 (0) | 2021.04.06 |
mongodb transaction 사용하기 (0) | 2021.03.29 |
안드로이드 10 이상에서 파일첨부가 정상 동작하지 않는다면 (0) | 2021.03.26 |
github action으로 cron schedule 무료로 (0) | 2021.03.25 |
- Total
- Today
- Yesterday
- CSS
- 모바일
- 대학생
- 아이폰
- 트위터
- 아이디어
- 소프트웨어
- 앱스토어
- 공모전
- 자바스크립트
- 게임
- 어플리케이션
- 창업
- 구글
- 네이버
- 경진대회
- Apple
- 안드로이드
- iPhone
- 스마트폰
- 벤처
- JavaScript
- 웹표준
- 앱
- 애플
- AWS
- android
- php
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |