ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [SSL] Apache 서브 도메인 SSL 적용
    LINUX/SSL 2020. 4. 22. 18:07

    이번 포스팅은 아파치 서브 도메인에 SSL을 적용하려고 한다.

     

     

    root 계정으로 certbot을 설치한다.

    폴더를 생성하고 인증서를 발급하기 위한 필수 조건인 index.html을 복사한다.

    필자는 기본 아파치 html 폴더를 복사하였다

    그 다음 000-default.conf 파일에 해당 내용을 추가 후 아파치를 재시작한다.

    $ sudo su -
    # apt-get install -y certbot
    # cd /var/www
    # mkdir gitlab.alsdud154.kr
    # cp -R html gitlab.alsdud154.kr
    # vim /etc/apache2/sites-available/000-default.conf
    
    
    <VirtualHost *:80>
            ServerAdmin alsdud154@rigel.kr
            ServerName gitlab.alsdud154.kr
            DocumentRoot /var/www/gitlab.alsdud154.kr/html
            ErrorLog logs/gitlab.alsdud154.kr-error_log
            CustomLog logs/gitlab.alsdud154.kr-access_log common
    </VirtualHost>
    
    
    # service apache2 restart

     

     

    인증서를 발행하면 인증서 만료 시 알림받을 이메일 주소를 입력 후 a, y를 입력한다.

    default-ssl.conf 파일에 해당 내용을 추가한다.

    SSLCertificateFile, SSLCertificateKeyFile, SSLCertificateChainFile은 ssl 인증서는 /etc/letsencrypt/live/발급한 도메인명에 있다.

    # letsencrypt certonly --webroot --webroot-path=/var/www/gitlab.alsdud154.kr/html -d gitlab.alsdud154.kr
    # vim /etc/apache2/sites-available/default-ssl.conf 
    
    <VirtualHost *:443>
    	ServerName gitlab.alsdud154.kr
    	ServerAdmin alsdud154@rigel.kr
    	SSLProxyEngine on
    	ProxyPreserveHost On
    	AllowEncodedSlashes NoDecode
    	<Proxy *>
    		Order deny,allow
    		Allow from all
    	</proxy>
    	SSLEngine on
    	SSLProxyVerify none
    	SSLProxyCheckPeerCN off
    	SSLProxyCheckPeerName off
    	SSLProxyCheckPeerExpire off
    	SSLCertificateFile      /etc/letsencrypt/live/gitlab.alsdud154.kr/cert.pem
    	SSLCertificateKeyFile   /etc/letsencrypt/live/gitlab.alsdud154.kr/privkey.pem
    	SSLCertificateChainFile /etc/letsencrypt/live/gitlab.alsdud154.kr/chain.pem
    	ProxyPass / http://192.168.0.15:8888/ nocanon
    	ProxyPassReverse / http://192.168.0.15:8888/
    
    	ErrorLog logs/gitlab.alsdud154.kr-error.log
    	CustomLog logs/gitlab.alsdud154.kr-access.log combined
    </VirtualHost>

     

     

    도메인에 접속해보면 정상적으로 ssl이 연동된다.

     

    또 http로 도메인 접속 시 https로 redirect를 시키려고한다.

    000-default.conf 파일에 명령어를 추가 후 아파치를 재시작한다.

    # vim /etc/apache2/sites-available/000-default.conf 
    
    
    Redirect permanent / https://gitlab.alsdud154.kr
    
    # service apache2 restart

     

    마지막으로 인증서를 매주 월 04:10분에 자동 갱신처리를 후 아파치를 재시작 하려고 한다.

    아직 인증서 만료시기 아니면 유지하고 인증서 만료될 시기면 갱신 처리한다.

    # crontab -e
    
    10 4 * * 1 /usr/bin/certbot renew --renew-hook="sudo systemctl restart apache2"
    

    'LINUX > SSL' 카테고리의 다른 글

    [Apache] Ubuntu Apache SSL 적용  (2) 2020.04.22
    [SSL] Tomcat에 Let’s Encrypt 설치 및 적용  (0) 2019.11.24
Designed by Tistory.