이번 SwJungle 6주차는
프록시 랩: 캐싱 웹 프록시 작성
이라는 주제였고
직접 간단한 웹 서버를 구축한 뒤 프록시 서버와 연결하는 실습을 진행했습니다.
프록시 서버에 대한 지식이 많지 않았던 저라서 고군분투하면서 겨우 직전에 완료할 수 있었는데, 그 과정에서 간략하게나마 정리했던 내용을 다듬어서 블로그를 작성하고자 합니다!
프록시 정의
프록시는 클라이언트와 서버 사이에서 중계 역할을 하는 서버입니다. 클라이언트의 요청을 받아 서버로 전달하고, 서버의 응답을 클라이언트에게 전달합니다. 이를 통해 클라이언트의 IP 주소를 숨기거나, 서버의 보안을 강화하는 등 다양한 목적으로 사용됩니다.
포워드 프록시는 클라이언트 대신 인터넷에 요청을 전달하여 클라이언트의 IP 주소를 숨기고, 요청의 출처를 변경합니다. 이는 특정 웹사이트의 접근을 제한하거나 금지하는 데 사용될 수 있습니다.
리버스 프록시는 서버로 들어오는 요청을 관리하여 서버의 보안을 강화하고, 부하 분산을 통해 성능을 향상시킵니다. 이는 서버가 인터넷에서 직접 요청을 받지 않도록 함으로써 보안을 강화합니다.
프록시 서버는 보안 강화, 성능 개선, 확장성 증가 등을 목적으로 네트워크 내의 기기가 인터넷에 접속하는 데 사용됩니다. 또한, 이는 사용자의 IP 주소를 숨기거나 인터넷을 암호화하여 보다 안전한 연결을 제공할 수 있습니다.
포워드 프록시
리버스 프록시
결론
프록시 서버는 요청된 서버의 보안을 증가시키고, 성능을 개선하며, 확장성을 높이는 등 다양한 목적으로 중요한 도구다. (이번 과제에서는 간단한 포워드 프록시 이므로 서버에서는 프록시에서의 요청만 보이게 될 것이다. -> 프록시가 대신 클라이언트의 요청을 받아서 전달하기 때문!!)
출처
1. https://engineer-mole.tistory.com/288 [매일 꾸준히, 더 깊이:티스토리]
2. https://furkangulsen.medium.com/forward-proxy-vs-reverse-proxy-4b2061ef17d6 [Forward Proxy vs Reverse Proxy: Furkan Gülşen]