[Nginx] 웹, 모바일 location 분리

2022. 12. 15. 09:20Nginx

웹 뷰 : 3000 / 모바일 뷰 : 3001 포트로 연결되게 config 파일 설정

server {
    listen      80;
    server_name 서버네임;
    return 301 https://도메인$request_uri;
}

server {
    listen 443 ssl http2;
    #listen      80;
    server_name 5mi.io;

    charset utf-8;

    # check user agent
    if ($http_user_agent ~* '(iPhone|iPod|Opera Mini|Android.*Mobile|NetFront|PSP|BlackBerry|Windows Phone)') {
       set $ua_type "@mobile";
    }

    location / {
        # root
        if ($ua_type = "@mobile"){
            proxy_pass http://127.0.0.1:3001;
        }
        if ($ua_type != "@mobile"){
            proxy_pass http://127.0.0.1:3000;
        }
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Port $server_port;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    #access_log off;

    access_log /var/log/nginx/XXX.log;
    error_log  /var/log/nginx/XXX-error.log error;

    ssl_certificate     /etc/nginx/ssl/XXX.crt;
    ssl_certificate_key /etc/nginx/ssl/XXX.key;
}

process manager를 통해 각 페이지를 3000, 3001 포트로 연결되게 하는 커맨드는 다음과 같다.

pm2 start npm --name "app_name" -- run start -- --port=띄우고자 하는 포트

'Nginx' 카테고리의 다른 글

[Nginx] Proxy 설정  (0) 2022.11.10
[Nginx] Nginx + PHP 파일 사이즈 설정  (0) 2022.04.13
[Nginx] redirection error  (0) 2022.04.13