Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- Selection Sorting
- R
- C 언어 코딩 도장
- buffer
- 이것이 자바다
- 알기쉬운 알고리즘
- Graph
- list 컬렉션
- ㅅ
- Algorithm
- insertion sort
- coding test
- 메모리구조
- 윤성우의 열혈 자료구조
- JSON
- Stack
- datastructure
- 이스케이프 문자
- 윤성우 열혈자료구조
- C programming
- stream
- Serialization
- 혼자 공부하는 C언어
- s
Archives
- Today
- Total
Engineering Note
[Server] 리버스 프록시(Reverse Proxy)란? 본문
리버스 프록시란?
- 클라이언트와 서버 사이에 위치해서 서버를 대신해 클라이언트의 요청을 받고 처리하는 중간 서버
특징
- 클라이언트 입장에서는 리버스프록시가 실제 서버처럼 보임. 실제 백엔드 WAS 서버는 클라이언트로부터 숨겨진다.
- 서버측들을 보호하고 대표하는 역할.
리버스 프록시의 주요 기능
- 어느 백엔드로 보낼 지 라우팅 결정
- 캐싱
- 정적 컨텐츠, 동적 컨텐츠(API 응답) 캐싱
- 보안(백엔드 서버 은닉)
- SSL 종료(클라이언트가 HTTPS로 요청을 전송하면 리버스 프록시가 SSL/TLS 연결을 받아서 복호화 HTTP로 백엔드 서버에 전달, 다시 백엔드가 응답하면 HTTPS로 암호화해서 클라이언트에 전달)
캐싱 설정 예시
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m;
server {
location /api/ {
proxy_pass http://backend;
proxy_cache my_cache;
proxy_cache_valid 200 10m; # 200 응답을 10분간 캐시
}
location /static/ {
proxy_pass http://backend;
proxy_cache my_cache;
proxy_cache_valid 200 1h; # 정적 파일은 1시간 캐시
}
}
리버스 프록시 사용 이유
- SSL 인증서를 리버스 프록시에서만 관리
- 백엔드, 서버 암복호화 부담 최소화
- 중앙화된 보안 관리
클라이언트 프록시
- 리버스 프록시와 반대로 클라이언트 측에서도 사용하는 Proxy 서버. 그냥 Proxy 라고 부름.
'Server' 카테고리의 다른 글
| [Server] QueryDSL, Spring Boot 핵심 라이브러리 정리 (0) | 2025.10.07 |
|---|---|
| [Spring] BindingResult (0) | 2025.09.22 |
| [Server] Pagination 개념과 Pagination 에서 사용되는 용어, 페이지 시작 번호계산 방법 (0) | 2025.09.17 |
| [Server] Spring Boot3 Security 적용 방법 (0) | 2025.09.12 |
| [Sever] 스프링 부트 쓰레드, DB 커넥션 (0) | 2025.09.04 |
Comments