사이드 프로젝트에 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

+ Recent posts