Spring Boot - SSL 인증서 설치 및 적용

jinho_pca·2021년 8월 10일
1

ssl

목록 보기
1/1
post-thumbnail

SSL이란

  • SSL은 네트워크에서 메시지 전송 시 보안을 위해 개봘된 표준 프로토콜이다. 즉, HTTP만을 위한 프로토콜이 아닌 응용계층의 여러 프로토콜의 보안을 위해 발명된 프로토콜이다. TCP를 보호하는 프로트콜이다.

  • 클라이언트 또는 서버에서 메시지를 만들어 상대에게 전달할 때, 응용계층에서 만들어진 메시지가 전송계층으로 가기전 SSL을 통해 데이터가 암호화된다. 그 후 전송계층을 통해 네트워크로 데이터가 상대에게 전달이 된다.

  • SSL 장점
    1. 기밀성(암호화)
    2. 데이터 무결성
    3. 서버인증


SSL 인증서 발급 및 설치

1) ssh 접속 후 letsencrypt 설치

sudo apt update
sudo apt-get install  letsencrypt -y

위의 명령어를 순서대로 입력하여 letsencrypt를 설치한다.

Let’s Encrypt SSL 인증서 발급은 매우 다양한 방법으로 이루어 진다.
이 중에는 Nginx나 아파치와 같은 웨서버가 전적으로 인증서를 제어토록 하는 방법이 있다.
이 경우 인증서 관리는 웹서버가 세팅과 관리를 알아서 한다.
이 방법을 사용하려면 웹서버에 맞는 Certbot을 추가 설치해야 한다.
우선 우분투에서 Nginx용 Certbot 설치는 아래 명령을 사용한다.

sudo apt update 
sudo apt upgrade -y 
sudo apt install certbot python3-certbot-nginx

2) 설정파일에 도메인주소 등록

sudo vi /etc/nginx/sites-available/default

위 명령어를 입력하여 아래 사진과 같이 servername : {domain} 의 형식으로 수정한다.

3) 인증서 발급

sudo certbot --nginx -d {domain}

처음에는 Cert bot을 이용하여 인증서를 발급받으려고 위의 명령어를 입력했지만 오류가 발생했다.
결국 아래 코드를 입력하여 Standalone 방식으로 인증서를 발급받았다.

sudo letsencrypt certonly --standalone -d {domain}

이렇게 나왔다면 인증서 발급이 완료된 것이다.

4) 설정파일에 인증서 추가

sudo vi /etc/nginx/sites-available/default

위 명령어로 설정파일 편집기에 들어가서 아래 사진과 같이 인증서를 추가하면 된다.
여기까지 완료 되었다면 이제 https로 접속이 가능해진 것이다.

5) redirect 설정하기

아래 사진처럼 nginx 설정파일을 수정하여 http 로 접속을 했을 경우 https로 redirect 해주도록 한다.

6) ssl인증서 적용 성공


참고자료

profile
기억보단 기록

0개의 댓글