무료 SSL 적용
기본 정보
- 서버 : Amazon Linux 2 AMI (HVM) - Kernel 4.14, SSD Volume Type
- 아파치 홈디렉토리 : /var/www/html
- 아파치 : 설치 위치 : /etc/httpd
SSL 설치 방법
1. certbot 설치
sudo amazon-linux-extras install epel
sudo yum install certbot-apache
※ https://serverfault.com/questions/903780/how-to-install-certbot-on-amazon-linux-ec2
2. SSL 적용
1) letsencrypt 인증서 설치
sudo certbot certonly --webroot
※ https://lessipe.tistory.com/13
2) /etc/httpd/conf.d/ssl.conf 에 아래 정보 기입
<VirtualHost *:443>
ServerName 도메인
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/도메인/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/도메인/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/도메인/fullchain.pem
</VirtualHost>
3) 아파치 컴파일
sudo apachectl configtest
sudo apachectl restart
-----------------------------------------------------
오류> SSLCertificateFile: file '/etc/letsencrypt/live/ec2.devlion.org/cert.pem' does not exist or is empty
해결> sudo apachectl configtest
3. SSL 리다이렉트 (80 => 443)
1) /etc/httpd/conf.d/ssl.conf 에 아래 정보 추가
<VirtualHost *:80>
ServerAdmin 도메인
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
2) 아파치 컴파일
sudo apachectl configtest
sudo apachectl restart
※ https://louky0714.tistory.com/106
※ https://oingdaddy.tistory.com/68
※ https://cheershennah.tistory.com/157
------------------------------------------------------
오류> [so:warn] [pid 14989] AH01574: module rewrite_module is already loaded, skipping
해결> mod_rewrite.so 이미 추가 되어있던 버젼. mod_rewrite.so 추가 위해 삽입한 LoadModule 라인 삭제