제가 운영하는 사이트 및 워드프레스는 SSL이 적용되어서 보안에 문제가 없이 사용을 하고 있습니다. 최근에 앱개발을 위해서 도메인을 추가하려고 SSL을 설치하려고 보니 뭔가 오류가 생겨서 정리겸 해서 포스팅을 하게 되었네요.
SSL 인증서는 여러가지가 있으며, 상용의 경우 구축비용이 꽤 많이 들어가게 됩니다. 저 같은 가난한 개발자의 경우 무료로 지원을 할 수 있는 SSL 인증서를 알아보았고 Let’s Encrypt 인증서가 가장 쓸만 한듯하여 이걸로 결정을 하게 되었습니다.
다만, 한가지 단점이 있습니다. 인증유효기간이 있어서 3개월마다 재갱신을 해주어야 하는데, 클론탭으로 간단하게 인증을 연장할 수 있으니 무료중에서는 최고의 인증서가 아닐까 생각이 드네요.
서버쪽은 제가 잘 몰라서 블로그를 참고해서 겨우겨우 구축을 하였습니다. 어렵지는 않은데, 1여년전 구축할때랑 조금 다른 부분들도 있어서 저한테 맞는 방법으로 수정을 하였구요.
아파치서버에 동작을 하기 때문에 아파치 환경이 필수이며, 버전업에 따라서 변경이 된듯합니다. 아래 블로그 방법으로는 오류가 생겼습니다.
참고링크 http://blog.ivps.kr/189 [iVPS 가상서버호스팅]
필요환경은 CentOS 7 이상의 아파치 웹서버가 설치가 되어 있어야 합니다.
두가지가 세팅된 환경에서 동작을 합니다.
1. 설정파일 설치
epel-release 설치
yum install epel-release
certbot 설치
yum install python-certbot-apache
SSL 모듈 설치
# yum install mod_ssl
2. 사용하고자 하는 도메인(nbuilder.kr)의 인증서 발급
nbuilder.kr과 www.nbuilder.kr 의 인증서 발급입니다. 도메인을 추가하려면 -d 도메인 형식으로 추가하시면 됩니다.
certbot --authenticator standalone --installer apache -d nbuilder.kr -d www.nbuiler.kr --pre-hook "systemctl stop httpd" --post-hook "systemctl start httpd"
아래 실행한 구문은 기존의 추가된 인증서 외에 demo.nbuilder.kr을 추가하는 과정입니다.
발급부분은 위와 같이 진행이 됩니다. 중간에 도메인 리다이렉트를 강제로 할건지 여부를 확인하게 되는데, 로그인관련 경로는 https를 사용하지 않기 위해서 리다이렉트는 하지 않았습니다.
3. 인증서 갱신
Let’s Encrypt 인증서는 90일 마다 갱신해주어야 하며, 클론탭을 통해서 자동으로 갱신할 수 있게 만들어 주면 편합니다.
클론탭 생성방법
crontab -e certbot renew --quiet
4. 아파치 세팅
아파치 환경설정의 경로는 환경에 따라 다르므로 확인을 하셔서 진행을 해주세요. vi에디터를 사용해서 아래 구문을 추가해주세요.
아파치 설정파일 경로(환경에 따라 달라질 수 있습니다)
명령어 vi /etc/httpd/conf/httpd.conf
추가할 구문은 아래처럼 해주세요. 도메인 루트는 달라질 수 있으니 확인하시고 경로를 지정하세요.
<VirtualHost 도메인명:443>
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/도메인명/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/도메인명/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/도메인명/fullchain.pem
ServerName 도메인이름
DocumentRoot /var/www/도메인루트
ErrorLog logs/도메인명_error_log
CustomLog logs/도메인명_access_log common
</VirtualHost>
아래와 같이 정리를 해주었습니다.
추가후 아파치 재시작을 하시면 SSL이 적용됩니다. 아파치 설정시 확인을 해주셔야 할 부분은 재시작시 오류가 생긴다면 설정파일 추가에 문제가 있는것으로서 오타를 확인해주세요.
'IT정보센터 > linux' 카테고리의 다른 글
Rocky Linux 설정방법 (삽질기) (0) | 2022.12.20 |
---|---|
SSL보안인증서 설치시 Another instance of Certbot is already running. (0) | 2022.07.16 |
vi에디터 ^M 문자 제거 , 일괄제거 정규식 안내 (0) | 2022.07.01 |
맥 터미널 활용하기 ll 명령어 알리아스 (0) | 2022.04.13 |
리눅스 터미널에서 공백처리하기 (0) | 2022.01.23 |
리눅스(Mac) 에서 공백이 있는 폴더 이동하는 방법 (0) | 2021.07.14 |
cp: omitting directory 디렉토리이름 오류 해결 (0) | 2021.07.08 |
라즈베리파이 제로 내장 무선랜 충돌 (0) | 2020.08.21 |
리눅스 lynx 설치법 및 사용법 (0) | 2017.03.18 |
리눅스 lynx 설치법 및 사용법 (2) | 2017.02.21 |