[AWS] EC2 NGINX에 무료 SSL/TLS 적용하고 HTTPS로 리다이렉트(Redirect) 하기 - Let's Encrypt (Certbot)
이번엔 Nginx에 SSL/TLS 인증서를 등록하고
http로 접속 시 https로 리다이렉트 하려고 한다.
이전 글에서 이어서 작성했다.
1. Certbot 및 플러그인 설치
1-1. EPEL(Extra Packages for Enterprise Linux) 저장소 활성화
EPEL은 CentOS나 다른 파생 배포판을 위한 패키지 저장소로 많은 소프트웨어 패키지를 제공하고 있다.
Let's Encrypt에서 제공하는 Certbot을 사용하기 위해서는
EPEL 저장소를 활성화하는 것이 필수다.
(버전에 따라 epel-release-latest-7.noarch.rpm, epel-release-latest-8.noarch.rpm 등 선택)
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
활성화 확인하는 명령어는 다음과 같다.
sudo yum repolist
[출력]
repo id repo name status
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,565+226
1-2. Certbot 및 플러그인 설치
Nginx 플러그인도 함께 설치한다.
sudo yum install -y certbot python2-certbot-nginx
1-3. SSL/TLS 인증서 받기
certbot certonly --nginx -d [DOMAIN]
[예제]
certbot certonly --nginx -d test.co.kr
/etc/letsencrypt 경로로 가보면 여러 파일들이 생성된 것을 확인할 수 있다.
options-ssl-nginx.conf
ssl-dhparams.pem
해당 경로에 2개 파일이 생성되어야 한다. (이 글에서는 사용하지 않음)
2. Nginx SSL/TLS 설정하기
2-1. server 설정
/etc/nginx/sites-enabled 경로로 이동하여 default.conf를 수정하자. (각자 설정에 맞게 이동하여 수정하면 된다.)
server {
listen 80;
server_name test.co.kr;
return 301 https://$host$request_uri;
}
server {
server_name test.co.kr;
listen 443 ssl http2;
ssl_certificate /etc/letsencrypt/live/test.co.kr/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/test.co.kr/privkey.pem;
location / {
root /project/nginx-project;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
}
server {
if ($host = test.co.kr) {
return 301 https://$host$request_uri;
}
listen 80;
server_name test.co.kr;
return 404;
}
80 포트로 들어올 경우 https(443)로 리다이렉트 하게끔 설정하였고
443 포트는 /project/nginx-project/index.html을 바라보게 설정해 놨다.
3. Nginx 서버 실행
둘 중 하나의 명령어를 사용하여 nginx 서버를 실행한다.
sudo service nginx start
sudo systemctl start nginx
서버에 http로 접속하더라도 자동으로 https로 전환되는 것을 확인할 수 있다.
간단하게 Nginx SSL/TLS 적용하는 방법과 HTTPS로 리다이렉트 되도록 설정해 보고 배포까지 해봤다.
복잡한 구조의 프로젝트가 아니라 단순 HTML 컨텐츠만 배포했지만
다음에는 좀 더 복잡한 프로젝트 배포, 프록시(Proxy) 설정, 무중단 배포 등 시도를 할 예정이다.
Apache, Spring Boot 내장 톰캣에 SSL/TLS 인증서 적용하는 방법은 이전 글을 참고하면 된다.
주식투자에 관심이 있으세요?
제가 매일 사용하는 주식 앱, '디핏'을 추천해 드립니다.
이 앱으로 종목정보를 빠르게 파악하는 데 도움이 됩니다.
'개발 이야기 > AWS (Amazon Web Services)' 카테고리의 다른 글
[AWS] EC2 Abuse Report 대응 및 해결 방법 - AWS EC2 Instance Connect (0) | 2024.01.25 |
---|---|
[AWS] EC2 NGINX 설치하고 Config설정 및 배포하기 (0) | 2024.01.16 |
[AWS] EC2에서 Node.js, npm, yarn 패키지 설치하는 방법 (nvm) (1) | 2023.12.06 |
[AWS] EC2 무료 SSL/TLS(HTTPS)적용 방법 (Apache Tomcat, Spring Boot 내장 Tomcat 적용) - Let's Encrypt (Certbot) (0) | 2023.11.02 |
댓글
이 글 공유하기
다른 글
-
[AWS] EC2 Abuse Report 대응 및 해결 방법 - AWS EC2 Instance Connect
[AWS] EC2 Abuse Report 대응 및 해결 방법 - AWS EC2 Instance Connect
2024.01.25 -
[AWS] EC2 NGINX 설치하고 Config설정 및 배포하기
[AWS] EC2 NGINX 설치하고 Config설정 및 배포하기
2024.01.16 -
[AWS] EC2에서 Node.js, npm, yarn 패키지 설치하는 방법 (nvm)
[AWS] EC2에서 Node.js, npm, yarn 패키지 설치하는 방법 (nvm)
2023.12.06 -
[AWS] EC2 무료 SSL/TLS(HTTPS)적용 방법 (Apache Tomcat, Spring Boot 내장 Tomcat 적용) - Let's Encrypt (Certbot)
[AWS] EC2 무료 SSL/TLS(HTTPS)적용 방법 (Apache Tomcat, Spring Boot 내장 Tomcat 적용) - Let's Encrypt (Certbot)
2023.11.02