-
[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