Loading...
본문 바로가기
👥
총 방문자
📖
0개 이상
총 포스팅
🧑
오늘 방문자 수
📅
0일째
블로그 운영

여러분의 방문을 환영해요! 🎉

다양한 개발 지식을 쉽고 재미있게 알려드리는 블로그가 될게요. 함께 성장해요! 😊

backend

우당탕탕 aws서버 ssl 인증하기 feat: certbot

by 꽁이꽁설꽁돌 2025. 5. 21.
728x90
반응형
     

목차

     

     

     

    aws 서버 인스턴스 열기

    aws에서 서버 인스턴스를 만들어 줍니다.

     

     

     

    이때 인바운드 규칙 설정하는 거 잊지말아 줍시다.

    내 ssh를 위해 22를 열어주어야하고 http를 위해 80 https를 위해 443을 열어 줍시다.

    또한 내 서버가 켜진 포트도 열어주어야 합니다 저는 3000이라 3000번 열어주었습니다.

     

     

     

    내 도메인 한국 가입 후 퍼블릭 아이피 등록

    그 후 내도메인 한국에서 퍼블릭 아이피를 등록해 줍니다.

     

     

    ssh로 certbot 설정하기

     

    cmd로 ssh 접속을 먼저 해줍시다.

     

     

    아래 명령어를 통해 certbot을 설치해 줍시다.

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

     

    아래 명령어를 통해 nginx 설정을 열어줍니다.

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

     

     

    그러면 아래와 같이 주석이 되지 않은 부분이 존재합니다.

    server {
    
           server_name example.com;
    
           root /var/www/example.com;
           index index.html;
    
           location / {
                  try_files $uri $uri/ =404;
           }
    }

     

     

    우리는 다음과 같이 우리의 도메인을 넣어줍시다.

    server {
    
           server_name example.com www.example.com;
    
           root /var/www/example.com;
           index index.html;
    
           location / {
                  try_files $uri $uri/ =404;
           }
    }

     

    이때 ctrl + o -> enter ctrl + x를 누르면 저장됩니다.

     

    아래 명령어 한번 실행해 줍니다.

    sudo nginx -t #문법 검사
    sudo systemctl reload nginx # nginx 재시작

     

    오류가 없을 경우

     

     

    아래 명령어를 실행해 줍시다.

    Certbot으로 SSL 인증서 발급 및 자동 설정해주는 명령어 입니다.

    sudo certbot --nginx -d example.com -d www.example.com

     

    이메일 입력하면 다음과 같이 성공적으로 완료됩니다.

     

    아래 명령어를 입력해 주면 nginx 실행 여부를 확인할 수 있습니다.

    curl -k https://cloudthon.r-e.kr

    이렇게 nginx가 성공적으로 뜨게 됩니다.

     

     

     

    우리의 서버 nginx에 연결해 주기

    여기서 끝이 아닙니다.

    여기서 우리의 백엔드 서버를 연결해 주어야 합니다.

     

    먼저 서버가 잘 열려있는지 확인을 해 줍시다.

    postman에 성공적으로 입력이 가는 것 확인 완료!

     

     

    위의 명령어를 다시 입력해 줍니다.

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

     

     

    그리고 아래와 같이 코드를 수정해 줍시다.

    location을 통해 우리의 서버만 연결해 주면 됩니다.

    server {
    
           server_name example.com www.example.com;
    
           root /var/www/example.com;
           index index.html;
    
           location / {
                  proxy_pass http://[퍼블릭 ip 주소]:3000;
            	  proxy_set_header Host $host;
                  proxy_set_header X-Real-IP $remote_addr;
           }
    }

     

    그리고 다시 문법 검사 후 재실행 줍니다.

    sudo nginx -t #문법 검사
    sudo systemctl reload nginx # nginx 재시작

     

    오류가 없을 경우

     

     

    다음과 같이 성공적으로 요청이 가는 것을 확인할 수 있다.

    반응형

    'backend' 카테고리의 다른 글

    도커와 함께 CI/CD 해보기  (1) 2025.05.25
    [MySql] Docker setting 해보자  (1) 2025.05.14