본문 바로가기
Spring boot

Nginx로 HTTPS 설정하기

by 리버🐦‍🔥 2024. 6. 18.

지난 포스팅에 이어서 이번 포스팅은 Nginx로 Https를 설정하는 방법에 대해서 알아보겠다.

Nginx로 Https 연결 순서

  1. Let’s Encrypt를 통해 ssl 인증서 발급
  2. ssl과 관련된 Nginx 설정

1. Let’s Encrypt를 통해 ssl 인증서 발급

1. sudo snap install --classic certbot명령어를 통해 certbot 설치

2. certbot --version 명령어를 통해 제대로 설치가 됐는지 확인

3. sudo certbot certonly --nginx -d {호스트.도메인}명령어를 통해 인증서 발급

해당 과정에서 메일 주소, 서버 등록 승낙 여부를 추가적으로 입력한다.

 

2. ssl과 관련된 Nginx 설정

1. sudo vi /etc/nginx/sites-available/{도메인} 명령을 통해 서버 블록에 아래 코드를 추가한다.

아래 중괄호 ”{}”로 싸여있는 부분만 수정하면 된다.

 server {
     server_name {도메인};

     location / {
         include /etc/nginx/proxy_params;
         proxy_pass http://{ip주소}:8080;
     }

     listen 443 ssl; 
     ssl_certificate /etc/letsencrypt/live/{도메인}/fullchain.pem; 
     ssl_certificate_key /etc/letsencrypt/live/{도메인}/privkey.pem; 
     include /etc/letsencrypt/options-ssl-nginx.conf;
     ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; 

 }
 server {
     if ($host = {도메인}) {
         return 301 https://$host$request_uri;
     } 

     listen 80;
     server_name {도메인};
     return 404;
 }

 

2. https로 접속 되는지 확인