리버스 프록시와 포워드 프록시와의 결정적인 차이점은..
"사용자가 요청하는 Endpoint가 어디냐" 에 달려있다.
포워드 프록시
포워드 프록시를 사용하는 경우에는 웹 브라우저 등에 1.2.3.4:8888 로 프록시를 설정하지만, 사용자는 scholar.google.com 을 요청하든 naver.com을 요청하든 자기가 원하는 곳에 데이터를 요청해 브라우저에서 볼 수 있다.
- 사용자가 요청한 Url을 그대로 proxy를 통해서 해당 server로 전송보내고 받음

리버스 프록시
리버스 프록시는 사용자의 Endpoint가 리버스 프록시의 Domain Name이 된다. 사용자는 항상 리버스 프록시의 주소인 reverse.proxy.com 과 같이 요청하게 되고, 리버스 프록시는 back-end 단에 있는 여러 서버들 중 하나로부터 응답을 받아와 사용자에게 반환하게 된다.
- 사용자는 reverse proxy Url로 보내면 proxy에서 해당 server로 전송보내고 받음

Docker Daemon에 Proxy 적용
사용 이유?
- 온프리미스 서버를 관리하다보면 외부로부터 공격을 받을 수 있다.
- 방화벽 설정이나, 솔루션을 구축하는건 빡시고..
- 어떤 보안 조치를 해야 할까?
- 일단 서버들의 외부 연결 인터넷을 끊어보자!

VM2개로 테스트
- VM 1 :
- 외부에서 접속을 막으려는 VM
- Docker daemon이 떠있음
- VM 2(Proxy)를 사용하는 VM
- VM 2 :
- 외부로 통신이 가능한 VM,
- docker image down
- apt-get 접속등이 가능
- Proxy server(Squid)가 있는 VM
설정
먼저 Proxy Server 설정을 한다.
- VM 2 :
- Squid 설치
- vi /etc/squid/squid.conf
- http_access allow all을 추가
- http_port 8080 추가
- service squid restart
그리고, Proxy Server 사용 설정을 한다.
- VM 1 :
- vi /etc/default/docker
- VM2 ip 및 Squid server port를 작성
- Docker search 동작으로 외부 접속 확인
- VM 1에서 Docker Container에서 외부 접속 방법
- 테스트를 위해 Docker run
- docker run -it --name temp ubuntu:14.04
- 동작중인 Docker container에 proxy 설정