카테고리 없음

도메인 생성과 인증서 발급/갱신 (+ springboot 적용)

Evolving Developer 2023. 1. 6. 12:27

도메인 만들기

   1. 아래 사이트 접속

 

내도메인.한국 - 한글 무료 도메인 등록센터

한글 무료 도메인 내도메인.한국, 웹포워딩, DNS 등 무료 도메인 기능 제공

xn--220b31d95hq8o.xn--3e0b707e

   2. 도메인 생성

   3. 고급 설정 → ip 설정 : ec2에서 만든 ip 주소 입력

   4. 도메인 생성 완료

인증서 발급하기

  1. 아래 모든 과정은 ec2 서버 내에서 진행
    • 본인은 리눅스 환경으로 wsl 사용
  2. yum 설치 → 설치한 yum으로 cerbot 설치
  3. cerbot로 인증서 발급
  4. Springboot에서 사용하기 위해 인증서를 pkcs12 형식으로 변환
  5. 생성된 keystore.p12 파일을 다운로드 폴더로 복사하기
  6. springboot 내부로 keystore.p12 파일 복사하기

ec2 접속하기

$ sudo ssh -i {{pem파일경로}} {{ec2-user계정명}}@{{ec2 instance의 public IP 또는 public DNS}}

ex)
sudo ssh -i pemname.pem ec2-user@1.22.33.444

yum과 cerbot 설치

$ sudo yum install epel-release
$ sudo yum install snapd
$ sudo amazon-linux-extras install apel
$ sudo yum install certbot

Cerbot를 활용한 인증서 발급

$ sudo apt-get update #apt-get 업데이트
$ sudo apt-get install software-properties-common #선행 소프트웨어 설치
$ sudo add-apt-repository ppa:certbot/certbot #certbot 저장소 추가
$ sudo apt-get update #apt-get 업데이트
$ sudo certbot certonly –standalone -d [도메인명] #Standalone 방식으로 도메인 소유권 확인

Cerbot를 활용한 인증서 확인

$ sudo certbot certificates
  • Certificate 경로와 Private Key 경로 확인하기 (메모장에 잠시 복붙)

Pem 인증서를 p12 인증서로 변경

  • Spring Boot에서 인증서를 적용할 경우 JKS 또는 PCKS12 인증서가 필요
  • openssl 명령어로 PCKS12 키를 생성
$ openssl pkcs12 -export -in {{cert.pem 경로}} -inkey {{privkey.pem 경로}} -out keystore.p12 -name ttp -CAfile chain.pem -caname root

ex)
sudo openssl pkcs12 -export -in /etc/letsencrypt/live/xn--lj2bx5v9j.xn--y5b.xn--3e707e/fullchain.pem -inkey /etc/letsencrypt/live/xn--ljbx519j.xn--yq5b.xn--3e07e/privkey.pem -out keystore.p12 -name spring -CAfile chain.pem -caname root

ec2 내 keystore.p12 파일을 컴퓨터 폴더(다운로드 폴더)로 복사하기

  • 본인은 다운로드 폴더에 복사하기로 함
$ sudo scp -i {{pem 파일}} ec2-user@{{ip 주소}}:keystore.p12 {{원하는 폴더}}

ex)
 sudo scp -i pemname.pem ec2-user@:1.22.33.444:keystore.p12 /mnt/c/Users/topjo/Downloads

Spring Boot 환경 설정 - application.properties

server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-type=PKCS12
server.ssl.key-store-password={{password}}
  • 다운로드 폴더 내 keystore.p12 파일 복사하기
  • springboot 프로젝트 resources 폴더에 복사한 keystore.p12 파일 붙여넣기

인증서 갱신

$ sudo certbot certificates #인증서 만료일 확인
$ sudo certbot renew --dry-run #인증서 모의 갱신
$ sudo certbot renew #인증서 실제 갱신
  • 인증서 갱신 후 ‘Pem 인증서를 p12 인증서로 변경’하는 과정부터 ‘springboot 환경설정’까지 반복

참고 사이트

Spring Boot에 무료 SSL 인증서 적용 및 갱신

[AWS] EC2 ssh 원격 접속과 scp를 통한 파일 전송