티스토리 뷰

1. 서브도메인 생성하기 (api.본인도메인)

 

가비아 DNS 관리툴에서 DNS 설정(본인이 도메인 구매한 사이트)

레코드 수정 -> 레코드 추가

 

// 레코드 타입: A, 호스트 : api

값(IP 주소): 현재 사용 중인 EC2의 Elastic IP

TTL: 600 (기존 설정값)

 

탄력적 IP(Elastic IP)
-> EC2 인스턴스에 부여되는 고정적인 공인 IP 주소

// 일반 공인 IP는 인스턴스를 중지하고 다시 시작하면 주소가 바뀜 (도메인 연결이 끊김)

// 도메인을 연결해서 API 서버를 운영하려면 Elastic IP 생성

콘솔 메뉴 Network & Security -> Elastic IPs -> Allocate Elastic IP addres(설정 변경 없이 할당)

-> 생성된 ip주소 클릭 후 Associate Elastic IP address 클릭 -> 운영중인 EC2 선택 후 Associate

 

(Elastic IP는 서버에 연결된 상태일 때 프리티어 기준 1개 무료임
생성 후 연결 안 하거나 정지해도 돈 나간다고 하니 참고) 

 

=> 할당된 탄력적 IP를 레코드 값에 입력

 


2. SSL? + Let's Encrypt 설치 및 api.본인도메인 연결

(-> Certbot 프로그램 설치, SSL 인증서 발급 및 적용)

 

SSL이란?

SSL(Secure Sockets Layer)

-> 웹 브라우저와 서버 간 데이터를 암호화하여 통신을 보호하는 보안 표준 기술

// 쉽게 말해, 우리가 인터넷 주소창에서 보는 http를 https로 바꿔주는 기술


1. Certbot 설치 (Let's Encrypt 클라이언트)

// Ubuntu(EC2) 환경에서 인증서를 자동으로 발급해줌

 

sudo apt update
sudo apt install python3-certbot-nginx

 

// abort가 떠서 아래 명령어로 재실행('-y' = 강제)

sudo apt install python3-certbot-nginx -y

 

SSL 발급 및 자동화 요약

구분 Let's Encrypt (기관) Certbot (도구)
역할 SSL 인증서를 무료로 발행해주는 은행 인증서를 대신 받아 내 서버에 설치해주는 직원
성격 비영리 인증 기관 (CA) 오픈소스 소프트웨어 (Client)
핵심 기능 암호화용 디지털 증명서 제공 인증서 신청 + 소유권 확인 + Nginx 설정 + 자동 갱신
비유 "신분증을 발급해 주는 시청" "시청 가서 신분증 받아다 내 지갑에 넣어주는 비서"

 

인증서를 받아올 Cerbot을 설치했으니깐

-> 실제 SSL 인증서 발급 및 적용

 

sudo certbot --nginx -d api.본인도메인

 

이후 이메일 적기 -> 약관 동의(Y) -> 이메일 수신 동의(N)

 

 

api.본인도메인을 접속했을 때 https로 리다이렉트 되고, Welcome to Nginx 화면 뜨면 끝


 

Let's Encrypt의 무료 인증서는 유효기간이 90일

설치한 python3-certbot-nginx 패키지는

보통 서버 내부의 스케줄러(systemd timer 또는 cron)에 자동 갱신 작업을 알아서 등록해줌

 

잘 작동하는지 확인하는 명령어

-> sudo certbot renew --dry-run

(실제 갱신은 하지 않고, 자동 갱신 프로세스가 정상적으로 동작하는지 테스트만 해보는 명령어)

// "Congratulations, all simulated renewals succeeded" 뜨면 잘 작동하는 것

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함