centos 에 프런트엔드 서버 설정

개요

SPA 프레임웍을 구축하게 되면 image, js, css 같은 정적인 파일을 서비스하는 프런트엔드 서버와 REST api를 제공하는 백엔드 서버가 필요하다.

linux 시스템에서는 정적인 파일을 서비스하는 웹서버로 nginx가 최적의 웹서버로 알려져 있으며 spring boot과 같은 백엔드 서버는 nginx 뒷단에 reverse proxy로 구성하게 된다.  이렇게 구성하면 CORS 문제도 생기지 않는다.

또한 lets’s encrypt라는 무료 SSL을 설치하고, 파일업로드를 하기 위한 설정을 추가한다.

 

nginx 설정

/etc/nginx/nginx.conf 에는 공통 사항을 기록한다.

file upload를 설정하는 부분 4줄과, 백엔드로 연동하는 reverse proxy 부분은 기본 설정에는 없는 부분이니 잘 보아두자.

위에서 주석처리하는 부분은 별도의 화일에 설정한다.

/etc/nginx/conf.d/default.conf 화일에 80번 포트를 설정한다.

/api 경로로 들어올 경우 nginx가 받아서 http://localhost:8080/api로 톰캣 서버로 연동한다.

nginx를 다시 구동한다

# systemctl restart nginx

# systemctl reload nginx

 

Let’s Encrypt SSL 설치

아래와 같이 설치 하면 4개의 화일이 설치된다.

/etc/nginx/nginx.conf  한줄 추가

/etc/nginx/conf.d/default.conf 수정

/etc/nginx/conf.d/http.conf 를 추가하여 리다이렉션을 설정한다.

let’s encrypt는 3개월후에 만료가 된다. 갱신 메일이 날라오면 certbot renew를 해준다.