ZeroSSL에서 SSL 인증서 발급하기

junsangyu·2023년 8월 26일
1
post-thumbnail

SSL인증서 무료 발급 기관

SSL 인증서를 발급해주는 기관은 많지만 무료로 발급해주는 기관은 크게 2곳이 있다.

Let's Encrypt

🟢 무료 중에서는 가장 메이저 기관
🔴 도메인이 있어야 인증서 발급 가능

ZeroSSL

🟢 도메인 없이 IP만으로 인증서 발급 가능
🔴 무료로 3개(30일)만 인증서를 발급해준다...

도메인 없이 IP만으로 인증서 발급할수 있어서 ZeroSSL 추천한다

23.10.09
ZeroSSL이 무료 인증서를 3개만(30일) 발급해주는걸 이제알았다. 결국 한달밖에 못쓰니 Let's Encrypt를 쓰도록 하자...

SSL 인증서 발급하기

1. 서버 포트 개방

SSL 인증서 발급을 위해 80 포트를 개방해야 한다
추가로 프록시로 사용할 443 포트도 개방해 주자
(AWS EC2 기준으로 진행)

  • AWS EC2 보안그룹 탭
  • HTTP, HTTPS 포트 추가

2. Docker 설치

SSL 인증서 발급시 Docker로 nginx 웹서버를 사용해야하기 때문에 Docker를 설치해준다

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

3. ZeroSSL 인증서 발급

ZeroSSL 링크
https://zerossl.com

  • ZeroSSL에서 회원가입 후 New Certificate를 선택
  • 도메인에 서버 IP를 입력
  • 무료인 90일 인증서를 선택
  • Auto-Generate CSR 선택
  • 무료 플랜 선택

4. ZeroSSL 인증서 검증

  • HTTP File Upload 선택
  • Download Auth File 파일 다운로드
  • Auth File 서버로 scp 이용해서 옮기기
    • scp -i <key file> <auth file> ubuntu@<server ip>:/home/ubuntu
  • Docker로 nginx에 Auth File 업로드
    • sudo docker run -p 80:80 -v /home/ubuntu/<Auth File>:/usr/share/nginx/html/.well-known/pki-validation/<Auth File> nginx
    • 도커로 80번 포트로 Auth File을 nginx 루트 디렉토리인 /usr/share/nginx Zero SSL에서 지정한 /.well-known/pki-validation 루트로 복사 후 nginx 이미지 실행

  • Verify Domain 하면 ZeroSSL 측에서 자동으로 Auth File을 확인하고 인증서를 발급해줍니다

5. 인증서 다운로드

  • Default Format으로 인증서 다운로드
  • scp 이용해서 서버로 인증서 옮기기
    • scp -i <key file> <cert file> ubuntu@<server ip>:/home/ubuntu
  • 인증서 파일 압축해제
    • unzip <cert file>

유의점

  • 90일마다 ZeroSSL에서 인증서를 갱신해야함
  • 서버 IP가 바뀌면 안됨
    • AWS EC2 서버는 중지시키면 IP를 회수하므로 서버를 중지시키면 안됨
profile
👨🏻‍💻

0개의 댓글