초오오오오오짜개발자의낙서장

Proxy 서버 본문

Back-end

Proxy 서버

코딩하는곰팅이 2025. 10. 13. 14:21

프록시란?

 

- 서버와 클라이언트 사이의 중계 역할 자체를 프록시 라고 하고, 그 중계 기능을 하는 장치 또는 응용 프로그램을 프록시 서버라고 한다.

- 네트워크 구조에 프록시 서버가 사용되는 위치에 따라 Forward Proxy, Reverse Proxy로 구분된다.

 

프록시의 종류

1. Forward Proxy

- 일반적인 프록시 형태

- 클라이언트가 직접 인터넷에 접근하는 것이 아닌 클라이언트 단 앞에 Proxy Server를 위치시켜 Proxy Server가 요청을 받고 인터넷에 연결하여 서버와 통신 후 클라이언트에게 반환하는 방식

 

이점

- Proxy의 기능 중 하나인 캐싱 기능을 이용하여 이전의 요청과 동일한 요청이 수신될 경우 프록시 서버에 응답을 저장해두고 클라이언트에게 전달함으로써 불필요한 부하를 줄여 성능을 향상시킬 수 있다.

- 서버 측에서 요청을 받을 때 클라이언트 IP가 아닌 프록시 서버의 IP로 요청을 받게 됨으로 서버측에 클라이언트의 정보를 숨길 수 있다. 보안 향상.

- 정부나 공공기관, 기업 등에서는 개인보다 보안에 좀 더 민감하여 정해진 웹 서버 등에만 접근할 수 있도록 제한을 해두는 경우가 많은데 이때 Forward Proxy를 사용함으로써 정해진 웹 서버에만 접근할 수 있도록 접근 제한 설정을 할 수 있다.

- 기업체에서 외부 사이트 접속이 안되는 방법이랑 같은 방법인가??? 더 알아보자

- 특정 URL의 접근을 막는 기능이 가능하다.

 

2.Reverse Proxy

 

- Forward Proxy와 반대로 애플리케이션 서버 앞에 위치한 형태

- 클라이언트가 요청할 때 직접 웹 서버에 요청하는 것이 아닌 애플리케이션 서버 앞에 설치된 Proxy Server에 요청을 하고 Proxy Server가 애플리케이션 서버로 데이터를 요청하고 클라이언트 측에게 응답하는 방식

 

이점

- 애플리케이션 서버와 클라이언트가 직접 통신을 하여 서비스를 제공해도 되지만 보통 애플리케이선 서버는 DB 서버와 연결되어있기 때문에 직접 클라이언트와 통신을 하다 애플리케이션 서버가 공격에 당할 경우 DB 서버까지 공격을 당할 수 있는 상황이 생기는데 이때 Reverse Proxy 방식을 사용하여 Proxy Server를 DMZ에 두고 실제 서비스 서버는 내부망에 위치시켜 공격에 대한 부담을 줄일 수 있다.

- Forward Proxy와 마찬가지로 캐싱 기능을 이용해 중복된 요청이 전송될 경우 프록시에 응답을 캐싱함으로써 불필요한 부하를 줄여 성능을 향상시킬 수 있다.

- Reverse Proxy를 사용함으로써 본래 서버의 IP 주소를 노출시키지 않고 통신함으로써 본 서버의 정보를 숨기는 효과가 있다.

- Proxy Server의 로드 밸런싱 기능을 이용하여 Proxy Server를 여러개의 서버 앞에 두고 사용할 경우 특정 서버가 과부하 되지 않게 부하를 조절할 수 있다.

- 보안을 향상 시킬수 있다. 

 

프록시의 단점

 

- 프록시 사용시 인터넷 연결 속도가 저하될수 있다.

- 프록시를 수행시 연결 단계가 늘어나므로 그만큼 시간이 걸린다.

- 익명성이 높은 프록시는 액세스 속도를 크게 저하시킨다.

- 외부 프록시 사용시 개인정보 데이터가 외부에 저장될수 있다.

- 기존 캐시 데이터 관리로 번거로울수 있다.

- 프록시 서버가 다운되면 해당 서버를 통해 인터넷에 접속하는 모든 사용자가 접근을 할 수 없다.

- 복잡성 증가 : 프록시 서버를 설치하고 관리하는 과정이 전체적인 네트워크 아키텍처의 복잡성을 증가시킬수 있다.

- 접속 차단 : 일부 웹 사이트는 프록시 서버를 통한 접속을 차단할 수 있어 원하는 사이트에 접속 하지 못할 수도 있다.

- 캐싱 데이터로 인해 페이지 업데이트를 반영하지 못할수 있다.

- 프록시 서버 자체가 보안 위협이 될 수 있으며, 잘못 구성된 경우 중요한 정보 누설의 위험이 있다.

 

 

프록시 서버, 프록시 캐시 서버, CDN

- 프록시 캐시 서버는 프록시 서버의 캐싱 기능을 메인으로 하는 서버이다.

- 프록시 서버는 캐시에 리소스가 있는지 확인하고 리소스가 있다면 클라이언트에게 바로 응답한다.

 

- CDN은 Origin Server와 캐시 동기화로 최신 상태를 유지하며 클라이언트의 요청 시 가장 가까운 CDN으로부터 컨텐츠를 제공받는다.

 

프록시 캐시

- 클라이언트에서 사용하고 저장하는 캐시를 Private cache 라고 하며 프록시에서 사용하는 캐시는 Public cache이다.

- 데이터는 캐시해도 되지만 항상 원 서버에 검증하고 사용하는 케이스 존재

- 민감한 정보가 데이터에 있으므로 저장하면 안되는 케이스 존재.

- 캐시 만료후 최초 조회시 원 서버에 검증해야되는 케이스

- 원 서버 접근 실패 시 반드시 오류가 발생 504 gateway timeout

- must-revalidate는 캐시 유효시간이라면 캐시를 사용한다.

 

 

 

 

출처

https://maker5587.tistory.com/47

 

프록시(Proxy)란?/프록시의 종류(Forward Proxy, Reverse Proxy)

프록시(Proxy)란? 영단어로 직역하면 '대리' 또는 '중계'라는 의미 서버와 클라이언트 사이의 중계 역할 자체를 프록시(Proxy)라고 하고, 그 중계 기능을 하는 장치 또는 응용 프로그램을 프록시 서

maker5587.tistory.com

https://hunseop2772.tistory.com/293

 

Proxy 의 장단점과 설명 기본

프록시 (Proxy)는 클라이언트와 서버 간의 중간 매개체로 작동하는 서버나 애플리케이션이다. 주로 웹에서 사용되며, 클라이언트 요청을 서버에 전달하고, 서버로부터의 응답을 클라이언트에게

hunseop2772.tistory.com

https://star7sss.tistory.com/920

 

[네트워크] 프록시(Proxy) 서버와 CDN, 프록시 캐시 서버의 차이점

프록시 서버와 프록시 캐시 서버, CDN는 모두 오리진(Origin)서버와 클라이언트 사이에서 HTTP 통신을 중계한다는 공통점이 있습니다. 위 개념에 대해 자세히 알아보고, 각각 차이점에 대해서 살펴

star7sss.tistory.com

https://velog.io/@gkrba1234/%ED%94%84%EB%A1%9D%EC%8B%9C-%EC%BA%90%EC%8B%9CProxy-Cache%EC%97%90-%EB%8C%80%ED%95%B4-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90

 

 

 

'Back-end' 카테고리의 다른 글

SSE란?  (0) 2025.10.20
CORS 에러  (3) 2025.08.17