Cloud/Aliyun

NGINX Proxy 대상 Host 바꾸기

뭉기 2018. 2. 19. 20:15

Proxy 테스트 할때 ICP 회피 할려다 하다 보니...  생각난 방법이다.

도메인으로 접속해야만 하는 경우 ICP가 없으면 17년 6월부터 사이버 보안법 때문에 vendor 차원에서 짤없이 차단이다.

그냥 IP로 접속하면 되겠지만, 본 경우는 WebServer는 vhost설정이 되어 있어서 IP로 접속할 수 없고 실제로 도메인으로 접속해야하는 경우다. 

즉, 테스트 서버는 IP로 접속해야 하고, 실제 대상 웹서버에는 도메인을 달고 들어가야 하는 경우.

방법은 간단하게 접속시 Host를 바꿔치기 하면 된다.

location / {
  proxy_pass http://origin.opencloud.kr;
proxy_set_header Host www.opencloud.kr;
}



약간의 응용을 하면 조건을 걸 수도 있다. 특정 도메인으로 접속시에만 호스트 바꾸기

poc.opencloud.kr로 접속 했을 경우에만 test.opencloud.kr로 host를 바꾸고, 나머지는 원래 접속한 도메인으로 보내는 방법

set $my_host $http_host;
if ($http_host = "poc.opencloud.kr") {
  set $my_host "test.opencloud.kr";
}
location / {
  proxy_pass http://origin.opencloud.kr;
proxy_set_header Host $my_host; }