DEVOPS

[DEVOPS] Nginx 설치 및 톰캣연동 / SSL 인증설정

집한구석 2021. 9. 29. 13:29
728x90

Nginx 설치 정리 및 설정(Centos 기준)


설치방법 

ROOT 계정이 아닐경우 아래 명령어에서 sudo 추가

1. EPEL 레파지토리 설치 : yum install epel-release

  • nginx는 센토스 베이스 레파지토리에 존재하지 않기 때문 필요

2. nginx 설치 : yum install nginx

3. nginx 실행 : service nginx start

  • 정상실행이면 Starting nginx: [ ok ] 메세지 확인
  • nginx 설치 서버 80포트 방화벽 허용 확인
  • 브라우저에서 해당 서버 주소 접속시 nginx 설치 확인용 페이지 보임

톰캣연동

nginx와 톰캣을 연동할라면 프록시 설정을 해야함 / ROOT 계정이 아닐경우 아래 명령어에서 sudo 추가

1. nginx 설정 파일 오픈 : vim /etc/nginx/nginx.conf

2. server를 검색하여 해당 설정 수정

server {
# 80포트로 들어올 부분을 설정
        listen       80;
        # listen       [::]:80;
        server_name localhost;
        # server_name  _;
        # root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        # include /etc/nginx/default.d/*.conf;

# ROOT 경로 설정
        location = / {
                proxy_pass http://127.0.0.1:포트;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                index index.jsp;
        }

# 웹서버에서 WAS에 있는 파일 해석 설정할 경우 설정
        location ~ \.(jsp|css|js|png|svg)$ {
                proxy_pass http://127.0.0.1:포트;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
        }

       # error_page 404 /404.html;
       # location = /404.html {
       # }

       # error_page 500 502 503 504 /50x.html;
       # location = /50x.html {
       # }
}
  • proxy_pass : nginx로 요청이 오면 해당 목적지로 전달함
  • proxy_set_header : 실제 요청데이터를 header의 각 항목에 할당함 

3. nginx 재실행 : service nginx restart


SSL 설치

한국전자인증에서 발급 받은 인증서로 진행

1.  /etc/nginx 경로로 이동하여 ssl 디렉토리 생성 (mkdir ssl)

2. /etc/nginx/ssl 경로에 해당 pem 파일들을 업로드

  • cert.pem 
  • key.pem

3. nginx 설정 파일 오픈 : vim /etc/nginx/nginx.conf

4. nginx 설정 파일 수정

server {
# 80포트에서 443포트로 변경
        listen       443;
        # listen       [::]:80;
        server_name localhost;
        # server_name  _;
        # root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        # include /etc/nginx/default.d/*.conf;
        
# SSL 관련 설정 추가
	ssl           on;
        ssl_certificate "/etc/nginx/ssl/cert.pem";
        ssl_certificate_key "/etc/nginx/ssl/key.pem";
        ssl_session_timeout  10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;


# ROOT 경로 설정
        location = / {
                proxy_pass http://127.0.0.1:포트;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                index index.jsp;
        }

# 웹서버에서 WAS에 있는 파일 해석 설정할 경우 설정
        location ~ \.(jsp|css|js|png|svg)$ {
                proxy_pass http://127.0.0.1:포트;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
        }

       # error_page 404 /404.html;
       # location = /404.html {
       # }

       # error_page 500 502 503 504 /50x.html;
       # location = /50x.html {
       # }
}

5. nginx 재실행 확인 : service nginx restart

'DEVOPS' 카테고리의 다른 글

[DevOps] 성능테스트시 서버자원 확인 참고사항  (0) 2021.05.16
[DevOps] 리눅스 JAVA 설치  (0) 2021.05.16