본문 바로가기

개발/NGINX

도메인 요청에 따라 처리 방식 다르게 처리

A.A.A 도메인을 다른 도메인으로 호출하도록 프록시 설정


$vi /etc/nginx/conf.d/default.conf


아래 설정 추가 후 nginx 재시작


server {

    listen       80; 

    server_name  A.A.A;


    include /etc/nginx/default.d/*.conf;


    location / { 

        proxy_pass http://B.B.B/;

    }   

}


이렇게 설정을 하면 A.A.A로 들어온 요청을 B.B.B 서버로 넘겨주고 응답 받는다.



C.C.C 도메인으로 요청을 받아 처리하기


$vi /etc/nginx/conf.d/default.conf


아래 설정 추가 후 nginx 재시작


server {

    listen       80; 

    server_name  C.C.C;


    include /etc/nginx/default.d/*.conf;


    location /test/ { 

        root   /html/;

    }   


    location / { 

        alias /test/html/; 

    }   

}


자 여기서 위에 빨간 부분(root)과 파란 부분(alias)의 차이를 설명하자면

root의 경우

http://C.C.C/test/test.html 호출 시 실제 서버에서의 처리는

"/html/test/test.html"을 찾아 호출하게 된다. 즉, root path가 /html이 되므로 
호출 시 지정한 path인 /test/test.html이 root path 뒤에 붙게 되는 것이다.

alias의 경우는 단순하다

http://C.C.C/test/test.html 호출 시 실제 서버에서의 처리는

"/test/html/test.html"을 찾아 호출하게 된다. 즉, 어떤 경로를 지정하여 호출 하든
alias에서 지정한 경로에서 해당 파일을 찾게 된다.