사이드 프로젝트에 SSL을 적용시켜 HTTPS 통신만 가능하게 설정해 보았다.
Step 1
- OS: Ubuntu Server 20.04 LTS
- 서버 인바운드에 443 포트를 허용한다.
- Nginx에서 Reverse Proxy를 해야하기 때문에 Nginx 설치가 필요하다.
- 만약 Nginx가 동작 중이라면 정지 시킨다.
- 중지시키지 않고 SSL 인증서 발급을 시도하면 발급이 되지 않기 때문이다.
$sudo systemctl stop nginx
Step 2
- Ubuntu에서 letsencrypt를 설치한다.
$sudo apt update -y
$sudo apt install letsencrypt -y
Step 3
- SSL 인증서를 발급 받는다.
- SSL 적용을 위해선 Domain Name이 필요하다.
$sudo letsencrypt certonly --standalone -d 도메인
ex) sudo letsencrypt certonly --standalone -d findu-i.ga
Step 4
- Nginx에 SSL을 적용한다.
$sudo vim /etc/nginx/sites-available/default
server {
listen 443 ssl;
server_name findu-i.ga;
ssl on;
ssl_certificate /etc/letsencrypt/live/findu-i.ga/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/findu-i.ga/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
proxy_pass http://localhost:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
}
Step 5
- Nginx를 재시작한다.
$sudo service nginx restart
Step 6
- HTTPS가 정상적으로 적용되었는지 체크해본다.
https://findu-i.ga --> Success
https://findu-i.ga:443 --> Success
'HTTP' 카테고리의 다른 글
SSL 개념 및 동작 원리 (0) | 2021.05.05 |
---|