콘텐츠로 건너뛰기

Https 인증서 무료 발급 자동갱신까지

    지금까지 1년,2년 단위로 HTTPs 인증서를 유료로 구입을 해왔습니다.

    제가 유료로 HTTPs 인증서를 구입한 이유는 딱 한가지였습니다.

    SSL 보안 유지를 위해서 3개월마다 무료 인증서를 갱신하는것이 너무 귀찮아서 그랬습니다.

    1년이라년 유예로 인해서 시간을 벌수 있었기에 매번 돌아오는 워드프레스 블로그의 인증서 갱신을 조금이라도 늦게 갱신하자 라는 심정으로 유료서비스를 이용해 왔습니다.

    금전적인 부분을 사용해서라도 이러한 요소를 조금이라도 미룰수 있던것이죠.

    하지만 1년이라는 시간도 생각보다 짧았습니다.

    100개이상의 워드프레스 사이트가 운영되다보니 금방 10개 단위로 갱신이 돌아오더군요.

    이 조차도 사실 귀찮고 나를 괴롭히는 작업이었습니다.

    그러다가 3개월마다 무료 발급가능한 인증서를 크론탭을 이용하여 주기적으로 갱신하여 무제한 사용할수 있는 방법을 알게된것입니다.

    일종의 로봇을 데몬에 걸어놓고 하루에 1,2회씩 매일마다 갱신하는 방법이죠.

    예전부터 알고는 있었지만 무료와 유료의 차이가 있을꺼같다는 생각에 유료 서비스를 이용했던 부분도 있었습니다.

    하지만 사이트가 워낙 많다보니 무료와 유료로 진행한 HTTPs 보안 적용한 사이트의 문제보다는 사이트의 컨텐츠와 웹SEO 부분의 성능이 더 중요하다는 사실을 알게되었죠.

    그리고 무료 갱신은 서버당 1개씩만 되는줄 알았습니다.

    이부분이 결정적으로 무료를 쓰지 않게된 이유인데요. 제가 막상 무료 3개월을 로봇에 의해 매일마다 갱신하고 또 1개가 아닌 동일한 서버에 수십개도 동시에 갱신이 된다는 사실을 알고부터 “바로 이거야!” 라고 할 정도로 매력적이더군요.

    진짜 워드프레스 많이 만들어보고 최적화 시켜보면서 SSL 자체는 있냐 없냐가 큰 차이가 있지만 유료냐 무료냐에 따른 혜택은 모르겠습니다. 아니 없는거 같습니다. 있어봐야 1년 연장이다 정도겠죠.

    그래서 그 방법을 기록하고자 글을 적은겁니다.

    여러분들도 이 방법을 이용해보세요

    사이트의 보안 SSL을 자동화 만드는거죠

    이제 저는 1년마다 갱신할 필요가 없습니다

    무료이면도 동시에 자동갱신까지!!

    방법적인 부분에 기술을 적은것라서 쿠팡 배너를 연결해놓았습니다.

    저도 이 기술을 여러분들에게 오픈하면서 수익도 발생하여 서버비를 조금이라도 보탤수만 있다면 감사할뿐입니다.

    너그럽게 이해해주시고 아래 내용 살펴보시기 바랍니다.

    쿠팡방문하고 계속읽기

    원하지 않을 경우 뒤로가기를 눌러주세요

    쿠팡파트너스 활동의일환으로,이에따른 일정액의 수수료를 제공받습니다

     

    letsencrypt cerbot 로봇을 설치를 해야합니다.

    wget -r --no-parent -A 'epel-release-*.rpm' https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/
    rpm -Uvh dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-*.rpm
    yum-config-manager --enable epel*
    yum install -y certbot python3-certbot-apache
    alias python='/usr/bin/python3'
    python --version
    certbot certonly
    
    #python까지 3버전으로 갱신
    

    certbot 입력을 했는데 아래처럼 나온다면

    certbot certonly

    이렇게 입력해서 진행하면됩니다.

    다른 웹사이트 검색해보면 그다음 나오는부분에서 조금 다르더군요.

    [1] [2] 고르는 항목이 있는데 1번을 선택했습니다. 2번은 웹루트폴더에 파일교체방식인듯한데.

    그다음 설정이 조금 난해해서 그냥 1번 골랐습니다.

    처음에 80포트가 사용중이라고 나와서 설치 할때만큼은 httpd (apache) 서버를 잠시 멈추고 진행했습니다.

    이후 갱신에서는 따로 멈추지 않아도 동작하였습니다.

    service httpd stop

    cd /etc/letsencrypt/live/www.도메인주소.com/

    lrwxrwxrwx 1 root root 37 Dec 9 19:37 cert.pem -> ../../archive/www.도메인주소.com/cert1.pem
    lrwxrwxrwx 1 root root 38 Dec 9 19:37 chain.pem -> ../../archive/www.도메인주소.com/chain1.pem
    lrwxrwxrwx 1 root root 42 Dec 9 19:37 fullchain.pem -> ../../archive/www.도메인주소.com/fullchain1.pem
    lrwxrwxrwx 1 root root 40 Dec 9 19:37 privkey.pem -> ../../archive/www.도메인주소.com/privkey1.pem

    이렇게 총 4개의 인증서(비밀키)가 확인됩니다.

    각 이름별로 용도가 다르니 이름에 맞게끔 httpd.conf 에 등록해야합니다.

    443 포트에 가상호스트를 만들어줍니다.

    혹시 전체 소스가 필요하신분들을 위해서 아랫부분에 넣어놓았습니다.

        SSLEngine ON
        SSLCertificateFile /etc/letsencrypt/live/www.도메인주소.com/cert.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/www.도메인주소.com/privkey.pem
        #SSLCACertificateFile /etc/letsencrypt/live/www.도메인주소.com/
        SSLCertificateChainFile /etc/letsencrypt/live/www.도메인주소.com/chain.pem

    vi /etc/httpd/conf.d/httpd-vhosts-www.도메인주소.com.conf

    <VirtualHost *:80>
        ServerName www.도메인주소.com 
        ServerAlias 도메인주소.com 
        Redirect 301 / https://www.도메인주소.com
    
    </VirtualHost>
    <VirtualHost *:443>
        ServerName www.도메인주소.com
        ServerAlias 도메인주소.com
        DocumentRoot /var/www/html/홈페이지폴더
        ServerAdmin 이메일주소@도메인.com
    
        SSLEngine ON
        SSLCertificateFile /etc/letsencrypt/live/www.도메인주소.com/cert.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/www.도메인주소.com/privkey.pem
        SSLCertificateChainFile /etc/letsencrypt/live/www.도메인주소.com/chain.pem
    
        ErrorLog logs/error_common_log
        CustomLog logs/www.도메인주소.com-access_log common
    
        <Directory /var/www/html/홈페이지폴더>
                Options FollowSymLinks
                AllowOverride all
                Order allow,deny
                Allow from all
        </Directory>
    </VirtualHost>
    

    각자 도메인주소와 사이트 폴더 위치만 알맞게 넣으시면됩니다.

    그리고 자동으로 갱신해야하니 데몬에 넣어주면됩니다.

    certbot renew --no-self-upgrade

    잘 동작하는듯합니다.

    날짜가 너무 일러서 리뉴얼이 되지 않았다는 멘트가 나오는군요.

    보통 15일정도 남았을때 자동갱신되니 그때쯤되면 알겠죠.

    데몬에 위의 명령어를 입력합니다.

    crontab -e

    12 1,12 * * * root certbot renew --no-self-upgrade

    보라넷에 시간도 30분마다 서버동기화 시켜주고

    1일,12일 마다 12시에 갱신하도록 처리했습니다.

    certbot 가이드라인에 보면 매일마다 1,2회 정도 진행해놓으면 에러라던지 보고서를 미리 체크하는듯합니다.

    암튼 하라는대로 했으니 잘 되겠죠.

    이제 SSL 인증서 갱신으로부터 자유로워졌습니다.

    야호!~

    고객 사이트 주소라서 모자이크 처리했습니다.

    고생하셨습니다.

     

    다 만들고나서 꼭 확인해야하는것들!!

    #폴더에서 잘못만들어진 폴더가 없는지 확인
    cd /etc/letsencrypt/renewal
    
    #만약 잘못만들어진 폴더가 있으면 이곳에서도 삭제해야함
    cd /etc/ssl/certs/
    
    #갱신
    certbot renew
    #끝!

    이제 워드프레스 블로그가 수천개가 되더라도 무섭지 않습니다.

    티온포럼도 만들고 각종 커뮤니티 사이트 많이 만들어보렵니다!!

    쿠팡에서 맛있는것도 사먹고요^^ 건강해야지 이런것도 많이 만들수 있습니다.