본문 바로가기

WEB/NGINX

(11)
NGINX Log 설정 # 테스트 환경OS : Oracle Linux Server release 8.6JDK : 1.8Tomcat : 9.0.89Nginx ver. : 1.14.1 1. Log 경로 변경NGINX의 기본 로그 경로는 다음과 같다.access_log /var/log/nginx/access.logerror_log /var/log/nginx/error.log log를 따로 빼서 보관하기 위해 아래의 경로를 생성 후access_log /logs/nginx/access_log/access.logerror_log /logs/nginx/error_log/error.log 해당 경로로 nginx.conf에서 설정 값을 변경 후 재 실행하게 되면 Permission denied 에러가 떨어지게 된다. 새로 생서한 Log 경로..
NGINX Health Check # 테스트 환경OS : Oracle Linux Server release 8.6JDK : 1.8Tomcat : 9.0.89Nginx ver. : 1.14.1 Nginx와 Nginx Plus는 upstream에 속해 있는 서버들을 지속적으로 테스트하고 사용 불가능한 서버에는 요청을 분기시키지 않으며 다시 복구된 서버를 LB 그룹에 추가할 수 있다. 다만 Open Source Nginx의 경우엔 수동적인 health check만 가능하며 활성 상태 및 active 활동 모니터링 대시보드 사용을 위해서는 Nginx Plus를 사용해야 한다. 따라서 현재 환경에선 수동 Health Check만 테스트 진행 1. 테스트 환경 및 설정WAS는 tomcat으로 통일하여 tomcat_1, tomcat_2 두 대를 준비..
Nginx 보안 취약점 # DocumentRoot 영역 분리최초에 nginx 설치 시 /usr/share/nginx/html를  DocumentRoot 디렉터리로 사용 해당 html 디렉터리는 공격받기 쉬운 문서들 및 공격에 이용될 수 있는 시스템 관련 정보도 포함되어 있기 때문에 필히 변경이 필요  조치 방법최초 설치 시 설정되는 root 경로 말고 커스텀 경로로 변경/usr/share/nginx/html → /usr/local/nginx/html수정 후 정상 기동 확인 및 호출 테스트 # Symbolic Link 사용 제한어느 WEB Server든 공통적으로 가지고 있는 보안 취약점 사항인 symbolic link에 대한 사용을 제한하는 설정을 필수적으로 해야 한다.(링크를 통해 편의성은 제공 가능하지만 관리자 말고 다른 ..
HTTP to HTTPS Redirect # 테스트 환경OS : Oracle Linux Server release 8.6JDK : 1.8WebLogic ver. : 12cR2Nginx ver. : 1.14.1 블로그에 작성되어 있는 nginx ssl 설정 / nginx&WAS 연동 글을 종합하여 작성 1. SSL 인증서 세팅https://tjddus97.tistory.com/10 nginx ssl 설정# 테스트 환경OS : Oracle Linux Server release 8.6JDK : Oracle jdk1.8.0_321nginx ver. : 1.14.1 1. openssl을 이용한 인증서 생성① ssl 디렉터리에 root key 생성openssl genrsa -aes256 -out root.key 4096root key password : ..
13: Permission denied while connecting to upstream 위와 같은 Permission denied 오류가 발생하며 nginx가 정상 기동 되지 않을 때 ① http_port_t에 명시되어 있는 port를 사용하고 있는지 확인semanage port -l | grep http_port_thttp_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000pegasus_http_port_t tcp 5988  ② OS의 SELinux 설정값 확인 및 변경httpd_can_network_connecthttpd 프로세스에서 네트워크 연결에 대한 하용 여부를 결정하는 설정getsebool -a | grep httpd 위의 사진과 같이 httpd_can_network_..
nginx & WAS 연동 # 테스트 환경OS : Oracle Linux Server release 8.6JDK : 1.8WebLogic ver. : 12cR2nginx ver. : 1.14.1# 연동 과정에서 nginx의 역할 - Reverse Proxynginx는 리버스 프록시의 개념을 가짐 (Reverse Proxy - Client의 요청을 받아 내부 서버로 분기 전달 해주는 개념) 사용자가 요청을 보내게 되면 Reverse Proxy 역할을 수행하는 nginx가 Application이 배포되어 있는 WAS로 요청을 전달 사용자의 요청 → nginx → Web Application Server  (테스트 환경에 설치되어 있는 WebLogic과의 연동 과정을 작성) # nginx / WAS 연동 과정 ① WAS 기동 및 App..
nginx Load Balancing # nginx Load Balancing애플리케이션 성능 향상, 대규모 애플리케이션 제공, 컨테이너 및 microservices 배포를 위한 기본 도구 Load Balancing 기술은 nginx에서는 4가지 nginx Plus에서는 5가지 기술을 제공하고 있음 nginxRound robin, Hish, IP Hash, Least connections 총 4가지 Load Balancing 기술을 제공 nginx PlusLeast Time 한 가지를 더 제공하여 총 5가지 Load Balancing 기술을 제공  # upstreamTCP Load Balancing에서 사용되는 태그로 http context 내에서 사용 1. server 블록에서 사용자가 정의한 특정 트래픽을 수신 대기하는 가성 서버를 정의..
nginx ssl 설정 # 테스트 환경OS : Oracle Linux Server release 8.6JDK : 1.8nginx ver. : 1.14.1 1. openssl을 이용한 인증서 생성① ssl 디렉터리에 root key 생성openssl genrsa -aes256 -out root.key 4096root key password : ... ② root.csr 생성openssl req -new -key root.key -sha256 -out root.csrEnter pass phrase for root.key: ... ③ root.crt 생성 및 설치openssl x509 -req -days 3653 -extensions v3_ca -set_serial 1 -in root.csr -signkey root.key -sha..