| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- session이란?
- jwt토큰구조
- 배열과 메모리
- jwt토큰원리
- Google Java Code Style Guide
- session장점
- 프록시서버
- 구글 자바 코드 스타일
- 세션장단점
- 우아한테크코스 Google Java Style Guid
- jwt토큰관리
- ReverseProxy
- 신입개발자
- jwt란?
- 세션단점
- session이 뭔가요?
- Google Java Style Guide
- 백엔드 서버
- session단점
- session이뭔가요?
- 신입개발자 프로젝트
- 포워드프록시
- 세션장점
- 메모리에서 배열
- jwt원리
- GPT프로젝트
- 프로그래밍 배열
- 토큰구조
- 구글 자바 스타일
- 자바 코드 가이드
- Today
- Total
dev_dbdb1114
ProxyServer에 대해서 본문
비전공자인 나에게 ProxyServer는 생소했다. 그래서 공부했다. ProxyServer가 뭘까요?
이런 저런 유튜브 영상을 봤다. 약 5개 정도 봤는데 모두 하나같이 하는 말은
대신 처리하는 서버.
- https://www.lesstif.com/system-admin/forward-proxy-reverse-proxy-21430345.html
- https://losskatsu.github.io/it-infra/reverse-proxy/#3-%EB%A6%AC%EB%B2%84%EC%8A%A4-%ED%94%84%EB%A1%9D%EC%8B%9Creverse-proxy-%EC%84%9C%EB%B2%84%EB%9E%80
- https://www.youtube.com/watch?v=YxwYhenZ3BE&t=1s
- https://www.youtube.com/watch?v=Zimhvf2B7Es&t=1s
- https://www.youtube.com/watch?v=eshV2whJrqk
- https://www.youtube.com/watch?v=RXXRguaHZs0&t=300s
[Infra] 리버스 프록시(reverse proxy) 서버 개념
리버스 프록시(reverse proxy) 서버 개념
losskatsu.github.io
위 영상들을 확인했고, 더해서 여타 위키백과 같은 곳을 보긴 했지만 얼추 저 정도만 보면 대충은 이해할 수 있었다.
정확히 이해하기 위해서는 OSI 7계층이나 DoD 분류 등을 알아야 하는 것 같은데 지금 내가 공부 흐름을 위해서 너무 많은 시간을 쏟을 수 없기에 천천히 공부해보기로 하고 완급조절을 하면서 프록시 서버에 대해서만 공부했다. 그렇게 간단하게 알 수 있었던건
- Forward Proxy Server
- Reverse Proxy Server
Forward Proxy
포워드 프록시는 네트워크로 들어가기 전에 있는 프록시 서버이다.

- 사용자의 아이피 주소가 숨겨진다.
- 우회가 가능하다.
- 프록시 서버 내에서 자주 사용되는 정보를 캐시했다가 같은 요청이 왔을 때 다시 전송해줄 수 있다.
어디서 Forward Proxy를 써야할끼?
단적인 예를 들어보자면, Forward Proxy의 경우 기업의 네트워크를 예시로 들 수 있다. 자사의 네트워크를 보호하고 싶을텐데, 이 경우에 ForwardProxy를 세워두면, 어떤 웹 사이트를 방문하더라도 요청받은 웹 서버에서는 프록시 서버의 주소밖에 알 수 없다. 조금 더 Private하게 될 수 있다. 반대로 안 좋게도 쓰일 수 있는데 특정 사이트에서 우리 ip주소로 접근할 수 없게 막아놨을 때 프록시 서버를 통해서 해당 사이트에 우회할 수 있기도 하다.
결국 포워드 프록시 서버는 클라이언트의 정보가 숨겨진다는 것이 포인트이고, 그 포인트에서 확장하자면 보안적인 측면과 우회의 기능 두 가지를 볼 수 있는 것이다. 앞서 말했듯 캐싱기능도 가능하다.
Reverse Proxy
리버스 프록시는 네트워크로 들어간 후 응답서버를 만다기 전에 있는 프록시 서버이다. 즉, 응답서버의 바로 앞에 있다고 생각하면 된다.

- 서버에 들어오는 유해한 시도를 막아주는 역할을 할 수 있다. ( ex: ddos )
- 서버의 주소를 숨길 수 있어서 좋다.
- LoadBalancing; 많은 트래픽 발생시 서버를 분할해서 사용할 수 있다.
리버스 프록시의 경우 로드 밸런서 역할로 많이 사용된다. 그림과 같이 요청을 나눠줄 수 있는데 만약 대규모 트래픽이 발생하는 서버라면, 이런 기능이 필수적일 것이다. 더해서 서버의 보안에 기여할 수 있다. 만약에 reverse proxy server가 없다면, 응답서버로 바로 요청이 들어오게 되는데 아무리 보안을 신경써서 만들었다고 하더라도 위험이 없는것이 아니고, 만약 악의적으로 침투한 요청을 처리하다가, DB나 서버의 전반적인 것들이 털리게 된다면 아찔하다. 한 다리를 더 거치게 함으로써 조금 더 보안을 강화시키는 것이다.
Summary
프록시라는 것은 요청을 대신 받아 처리해주는 것이다.
구조적인 측면 : 위치에 따라서 Forward Proxy와 Reverse Proxy가 있는데, Forward 프록시는 클라이언트의 요청을 네트워크로 보내주고, Reverse프록시는 클라이언트의 요청을 네트워크를 통해 받아서 서버로 보내준다.
기능적인 측면 : Forward는 클라이언트단에서 유의미하고, Reverse는 Sever단에서 유의미하다.
내 결론
프록시 서버를 샘플로라도 만들어서 이해하고 공부해야겠다.
'프로그래밍 > server' 카테고리의 다른 글
| MSA란 무엇인가? (0) | 2023.09.13 |
|---|---|
| OAuth2.0, 인증과 인가 (0) | 2023.09.12 |
| 이미지 호스팅 서비스 Cloudinary with React (0) | 2023.09.04 |
| JWT토큰에 대해서 (0) | 2023.07.19 |
| 세션은 무엇인가? (0) | 2023.07.18 |