[태그:] Lightsail

  • Lightsail VHOST SSL

    비용을 아껴보려고 lightsail을 사용해보려고 한때가 있었다

    당연하게도 인증서도 저렴하게 쓸 생각이었고

    bitnami 가 기본 설치되어 있었으니 그걸 최대한 활용

    1. 인증서만 발급

    **하기전에 DNS에 해당 도메인 a레코드를 등록해야한다(www, non-www 둘다)

    LEGO ->

    sudo /opt/bitnami/ctlscript.sh stop
    
    //sudo /opt/bitnami/letsencrypt/lego --tls --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains="www.DOMAIN" --path="/opt/bitnami/letsencrypt" run
    sudo /opt/bitnami/letsencrypt/lego --tls --email="mail@mail.kr" --domains="DOMAIN" --domains="www.DOMAIN" --path="/opt/bitnami/letsencrypt" run
    
    sudo /opt/bitnami/ctlscript.sh start
    

    → 이후

    /opt/bitnami/apache/conf/extra/httpd-vhost.conf

    ex)
    <VirtualHost *:80>
        DocumentRoot "/opt/bitnami/apache/htdocs"
        ServerName DOMAIN
        ServerAlias www.DOMAIN
        #https로 리다이렉트
        RewriteEngine On
    	RewriteCond %{HTTPS} !on
    	RewriteCond %{HTTP_HOST} ^www\. [NC]
    	RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
    	RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=permanent]
    	RewriteCond %{HTTPS} !on
    	RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [L,NE,R=permanent]
    </VirtualHost>
    

    /opt/bitnami/apache/conf/bitnami/bitnami-ssl.conf

    ex)
    <VirtualHost *:443>
      DocumentRoot "/opt/bitnami/apache/htdocs"
      ServerName DOMAIN:443
      ServerAlias www.DOMAIN
      SSLEngine on
      SSLCertificateFile "/opt/bitnami/letsencrypt/certificates/DOMAIN.crt"
      SSLCertificateKeyFile "/opt/bitnami/letsencrypt/certificates/DOMAIN.key"
    
      # BEGIN: Configuration for letsencrypt
      Include "/opt/bitnami/apps/letsencrypt/conf/httpd-prefix.conf"
      # END: Configuration for letsencrypt
      
      #www -> non-www redirect
      RewriteEngine On
    	RewriteCond %{HTTP_HOST} ^www\. [NC]
    	RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
    	RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=permanent]
    
      ErrorLog "logs/DOMAIN-error_log"
      CustomLog "logs/DOMAIN-access_log" common
    </VirtualHost>
    

    의 파일 적절히 수정

    2**. 자동갱신 크론탭**

    /opt/bitnami/letsencrypt/scripts/renew-certificate.sh

    #!/bin/bash
    sudo /opt/bitnami/ctlscript.sh stop apache
    sudo /opt/bitnami/letsencrypt/lego --tls --email="EMAIL-ADDRESS" --domains="DOMAIN" --path="/opt/bitnami/letsencrypt" renew --days 90
    sudo /opt/bitnami/ctlscript.sh start apache

    해당 도메인 추가 입력

    → 저 파일을 반복 실행하도록 크론탭 등록해뒀음,(매달 1일 새벽 5시 실행)