Aws

[https+nginx] vercel 배포에 맞춰 https와 nginx 적용해주기

kyoooooong 2025. 12. 7. 21:11

 

이전에 했던 간단 배포 포스팅에 이어서 쓰는 글!

 

프론트에서 vercel로 배포하는 줄 몰랐는데 vercel로 한다고 해서 후다닥 https와 nginx를 달았던 부분을 정리합니다.

 

 

 

 

 

 

 

1. 사용할 도메인 발급

 

다들 어디에서 발급받는진 모르겠는데 우선 난 예전에 멋사 아기사자했을 때 도메인 발급 세션에서 배웠던 이 사이트에서 발급받는 편!

 

https://xn--220b31d95hq8o.xn--3e0b707e/

 

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

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

xn--220b31d95hq8o.xn--3e0b707e

 

shout out to 주원.

주원아 넌 정말 짱 운영진이었어..

 

여기서 우리 서버의 탄력적 ip 주소를 연결해주고 발급해주면 이제 탄력적 ip 주소와 도메인 네임으로 각각 접속이 가능한 걸 확인할 수 있ㄷ다!

 

 

 

 

 

 

 

2. ec2에 nginx 달기

 

ec2 서버에서 nginx 설치해주고, nginx 설정 파일을 만들어준다! 이때 사용했었던 파일은 아래와 같다.

 

server {
    listen 80;
    server_name sopt37mega.kro.kr;

    location / {
        proxy_pass http://127.0.0.1:8080;   # 도커 안 스프링 부트
        proxy_set_header Host $host;        # nginx 변수
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

 

간단간단 

 

저장해주고 종료한 다음 설정 활성화해주면 끝!

 

그러면 이제 포트 번호를 뒤에 달지 않아도 접속이 가능하다~

 

 

 

 

 

 

 

3. https 적용해주기

 

이제 우리 서버에 https 를 달 모든 준비가 완료!

 

우리의 ec2에서 cerbot 플러그인을 설치하고 도메인으로 ssl 인증서를 발급해준다~

그리고 cerbot 실행이 끝난 다음 nginx를 reload 해주면 https:// ~ 으로 접속이 가능!

 

 

그리고 cerbot으로 certbot --nginx 를 돌리면, 내가 만들어둔 도메인용 server 블록을 기준으로 certbot이 listen 443 ssl, 인증서 경로, 80→443 리다이렉트용 server 블록까지 자동으로 주입해줘서, 설정 파일이 한 번에 “HTTPS 버전”으로 업그레이드된다!

 

확인하려고 다시 설정 파일을 열어보니 아래처럼 바뀐 모습을 확인할 수 있었다.

server {
    server_name your-domain.example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;   # 도커 안 스프링 부트
        proxy_set_header Host $host;        # nginx 변수 (그대로 둬야 함)
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate     /etc/letsencrypt/live/your-domain.example.com/fullchain.pem;   # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/your-domain.example.com/privkey.pem;    # managed by Certbot
    include    /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;      # managed by Certbot
}

server {
    if ($host = your-domain.example.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80;
    server_name your-domain.example.com;
    return 404; # managed by Certbot
}

 

 

 

이 다음은 아마 github cicd 부분 포스팅이 되지 않을까, 싶다.

 

간단 https 적용 완료~~

 

 

'Aws' 카테고리의 다른 글

[ec2+rds+ecr] 간단 서버 배포하기  (0) 2025.12.07