티스토리 뷰
1. 도메인의 기본 구조
- api.example.com이라는 도메인이 있다면 뒤에서부터
1) com : 최상위 도메인
2) example.com : 도메인 (2차 도메인, 우리가 보통 말하는 도메인)
3) api.example.com : 서브 도메인
- 예시: mail.google.com, blog.naver.com
2. 도메인이란?
- 웹사이트의 주소, IP대신 사람이 읽기 쉽게 만든 이름
- 브랜드나 회사를 대표하는 주소
- 한 곳에서 모든 서비스를 제공(example.com/home, example.com/about)
3. 서브도메인이란?
- 도메인의 일부, 도메인을 더 세분화하여 관리할 때 사용
- 기능별로 구분
- 서버를 따로 운영(API 서버와 웹사이트를 분리)
- 다른 서비스를 제공(쇼핑몰, 커뮤니티 등)
- 국가별 도메인 운영
4. 최상위 도메인
- 도메인의 가장 오른쪽 끝부분에 있는 부분
- 목적을 쉽게 구분할 수 있게 해준다.
- 인기 도메인(.com, .net)은 검색 엔진(SEO)에서 더 신뢰도가 높다.
구분 | 최상위 도메인 예시 | 용도 |
일반 (특정 국가에 속하지 않고, 전 세계에서 사용) |
.com | 회사, 기업용 |
.org | 비영리 단체 | |
.net | 네트워크 관련 | |
.info | 정보 제공 | |
.biz | 비즈니스 | |
국가 코드 | .kr | 한국 |
.jp | 일본 | |
.us | 미국 | |
.cn | 중국 | |
.de | 독일 | |
기타 | .app | 앱 관련 서비스 |
.tech | 기술 관련 웹사이트 | |
.shop | 쇼핑몰 | |
.blog | 블로그 |
5. CORS
- 브라우저가 다른 출처에서 온 요청을 허용할지 말지 결정하는 보안 정책
- 출처란? 프로토콜 + 도메인 + 포트
- 서브도메인이 달라도 CORS 적용되어 백엔드에서 CORS 설정필요
from fastapi.middleware.cors import CORSMiddleware
app.add_middleware(
CORSMiddleware,
allow_origins=["https://app.example.com"], # 특정 서브도메인 허용
allow_methods=["*"], # 모든 HTTP 메서드 허용 (GET, POST, PUT 등)
allow_headers=["*"], # 모든 헤더 허용
)
6. 프로토콜
- 컴퓨터끼리 데이터를 주고받을때 사용하는 통신규칙
1) 웹 통신
- HTTP : 웹사이트를 표시할 때 사용하는 프로토콜
- HTTPS: HTTP + 보안(SSL/TLS 암호화)
1. 사용자가 https://example.com 입력
2. 브라우저가 DNS에 "example.com의 IP 주소 뭐야?" 요청 (DNS 프로토콜)
3. DNS가 "192.168.1.1이야!" 응답
4. 브라우저가 192.168.1.1 서버에 "웹페이지 주세요!" (HTTPS 요청)
5. 서버가 HTML, CSS, JavaScript를 응답 (HTTPS 응답)
6. 브라우저가 웹사이트를 화면에 표시
2) 데이터 전송
- TCP : 신뢰성이 높은 연결, 데이터 손실 없음(예: 웹사이트 접속, 이메일, 파일 다운로드)
- UDP : 빠른 속도, 데이터 손실 가능(예: 영상 스트리밍, 온라인 게임 등)
3) 파일전송
- FTP : 서버에서 파일을 업로드하거나 다운로드 할 때 사용
4) 도메인 네임 시스템
- DNS : 사람이 읽기 쉬운 도메인 (example.com을 IP 주소 192.168.1.1)로 변환하는 프로토콜
- DNS가 없으면 우리가 IP 주소로만 웹사이트에 접속해야 한다.
5) 이메일 전송
- SMTP : 이메일을 보낼 때 사용
- IMAP : 이메일을 서버에서 관리하면서 받을 때 사용
- POP3: 이메일을 받아서 내 컴퓨터에 저장할 떄 사용
7. AWS 도메인 등록 : Route 53
1) 도메인등록: AWS 콘솔 > Route 53 > 도메인 등록 > 원하는 도메인 입력 > 등록 완료 후 AWS에 호스팅된 도메인 확인
* 이미 도메인을 가지고 있다면 네임서버(NS) 설정을 변경해 사용
# 연결확인
nslookup example.com
2) SSL/TLS 인증서 발급(AWS Certificate Manger, ACM)
- AWS 콘솔 > ACM > 인증서 요청 > 공개 인증서 > 도메인 입력 > DNS 검증 방식 선택 (Route 53 사용시 자동 연결) > 검증 완료 후 인증서 발급
3) HTTPS 트래픽 처리 (로드 밸런서)
- ALB(Application Load Balancer)사용하면 HTTPS 트래픽이 EC2 인스턴스로 전달됨
- AWS 콘솔 > EC2 > 로드밸런서 > 유형 ALB선택 > HTTPS(443) 리스너 추가 > AWS ACM 인증서 연결 > 타겟 그룹 설정 > EC2 인스턴스 연결 > 보안그룹 설정 > 80,443 포트 허용
4) 테스트 및 확인
- https://example.com 접속시 좌물쇠 아이콘이 나오면 성공
# 200 응답이 나오면 정상 적용됨
curl -I https://example.com
# ssl 인증서 확인
openssl s_client -connect example.com:443
'AI > AI 서비스 개발' 카테고리의 다른 글
[AI 서비스 개발] Cookie (1) | 2025.02.06 |
---|---|
[AI 서비스 개발] 비동기, 멀티스레딩, 멀티프로세싱, MSA (0) | 2025.02.05 |
[AI 서비스 개발] AWS에 DB 생성하기 - Docker volumes, AWS RDS (0) | 2025.02.03 |
[AI 서비스 개발] crewai tool - SerperDevTool() (0) | 2025.02.02 |
[AI 서비스 개발] Github Action, AWS ECR, docker hub, EC2 배포 방법 비교 (1) | 2025.02.01 |
- Total
- Today
- Yesterday
- Python
- Ai
- 실기
- 프로그래머스
- 티스토리챌린지
- 미라클모닝
- 아침
- SQL
- 기초
- 줄넘기
- llm
- ChatGPT
- 영어회화
- 오블완
- 경제
- 뉴스
- opic
- 스크랩
- 루틴
- 30분
- 아침운동
- 빅데이터 분석기사
- 운동
- IH
- 다이어트
- 고득점 Kit
- C언어
- 습관
- 갓생
- 오픽
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |