콘텐츠로 건너뛰기

nginx, User-Agent로 리다이렉트

한 서버에서 2개의 포트로 nginx 프락시 서버로 서비스할 때, 모바일 브라우저로 들어오면 리다이렉트 하는 방법

$ua_port 변수를 정의하고

map $http_user_agent $ua_port {
    default '3030';
    ~(iPhone|Android) '3333';
}
proxy_pass http://127.0.0.1:$ua_port; 

전체 소스

map $http_user_agent $ua_port {
    default '3030';
    ~(iPhone|Android) '3333';
}

server {

        # hide server info
        server_tokens off;

        # Protect XSS Attack
        add_header X-XSS-Protection "1; mode=block";

        server_name tera.co.kr www.tera.co.kr;
        root /var/www/tera.co.kr;

        index index.html;
        client_max_body_size 10M;

        location / {
                proxy_pass http://127.0.0.1:$ua_port;

                add_header author "created by tera.co.kr";
                proxy_redirect off;
                proxy_http_version 1.1;
                proxy_set_header Host $host ;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location ~ /\.ht {
                deny all;
        }
}

답글 남기기