[Devops] SPA에서의 nginx세팅 (백엔드 서버와 같은 domain)

SPA 환경에서 백엔드 서버와 동일한 도메인을 사용할 때의 Nginx 설정 방법을 소개합니다.

(이전) 포트폴리오 페이지를 리뉴얼하면서, 일반적인 html / css / js 구조에서 Vue를 사용한 SPA로 구조가 바뀌었다.

다만 일부분의 url 에 대해서는 백엔드 서버와 통신하기 때문에, 항상 Application Layer 에서 /index.html 로 보내주면 에러가 발생한다. 

이를 분기 처리한 nginx conf 파일은 다음과 같다.

 

server {

    listen 80;

    server_name www.kimheejae.com kimheejae.com;



    location / {

        root  /home/ubuntu/portfolio_ver2/client;

        try_files $uri $uri/ /index.html;

    }



    location /css{

        root /home/ubuntu/portfolio_ver2/client;



    }

    location /js{

        root /home/ubuntu/portfolio_ver2/client;

    }

    location /tinymce_assets{

        root /home/ubuntu/portfolio_ver2/api/current/public;

    }



    location /assets{

        root /home/ubuntu/portfolio_ver2/api/current/public;

    }



    location /admin{

        root /home/ubuntu/portfolio_ver2/api/current/public;

    }



    location /api{

        root /home/ubuntu/portfolio_ver2/api/current/public;

    }

    location /uploads{

        root /home/ubuntu/portfolio_ver2/api/current/public;

    }

    # Turn on Passenger

    passenger_enabled on;

    passenger_ruby /home/ubuntu/.rbenv/versions/2.4.2/bin/ruby;



    client_max_body_size 200M;

}

 


이것도 읽어보세요