본문 바로가기

WEB/NGINX

nginx & WAS 연동


# 테스트 환경

  • OS : Oracle Linux Server release 8.6
  • JDK : 1.8
  • WebLogic ver. : 12cR2
  • nginx ver. : 1.14.1

# 연동 과정에서 nginx의 역할 - Reverse Proxy

nginx는 리버스 프록시의 개념을 가짐 (Reverse Proxy - Client의 요청을 받아 내부 서버로 분기 전달 해주는 개념)

 

사용자가 요청을 보내게 되면 Reverse Proxy 역할을 수행하는 nginx가 Application이 배포되어 있는 WAS로 요청을 전달

 

사용자의 요청 → nginx → Web Application Server

 


 

(테스트 환경에 설치되어 있는 WebLogic과의 연동 과정을 작성)

 

# nginx / WAS 연동 과정

 

① WAS 기동 및 Application Test

WAS 기동 상태 확인 

ps -ef | grep weblogic.Server

ps -ef | grep tomcat

ps -ef | grep lena

ps -ef | grep jboss

WebLogic Admin / Instance Server process 확인 - WAS1 장비
WebLogic Instance Server process 확인- WAS2 장비

 

AdminServer / testM1 / testM2

→ instance server인 testM1, testM2는 testCluster로 묶여있는 상태

 

WebLogic Application 배치 상태 및 대상 확인

 

② nginx.conf 수정

http {
   .
   .
   .
   .
    upstream weblogic {
    	# RoundRobin 방식
        server 192.168.56.230:8002;
        server 192.168.56.231:8002;
    }

    server {
        listen       80;
        server_name  www.tjddus97.or.kr;
        root         /usr/share/nginx/html;

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

        location / {
        # Application의 context-root에 따라 location 설정
        # 요청이 들어올 주소
        
            proxy_pass         http://weblogic;
            proxy_http_version 1.1;
            proxy_redirect     off;
            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-Host $server_name;
        }
   }

 

proxy_pass

location을 통해 들어온 요청에 대한 포워딩 주소를 정의

http://weblogic 즉, upstream에 정의된 주소 2개를 뜻함

 

proxy_set_header

proxy 된 서버에 전달된 요청 헤더에 필드를 재 정의하거나 추가 가능

즉, 들어온 요청의 형식이 proxy_set_header에 설정한 형식과 일치할 경우 해당 요청을 WAS로 보냄

 

https://nginx.org/en/docs/http/ngx_http_proxy_module.html?&_ga=2.128603204.951985637.1722226277-238946016.1716873354#proxy_set_header

 

Module ngx_http_proxy_module

Module ngx_http_proxy_module The ngx_http_proxy_module module allows passing requests to another server. Example Configuration location / { proxy_pass http://localhost:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } Directives

nginx.org

 

 

③ 호출 TEST

WebLogic IP를 통한 직접 호출 화면

 

nginx를 통한 호출 화면

 

nginx access log

 

'WEB > NGINX' 카테고리의 다른 글

HTTP to HTTPS Redirect  (0) 2024.07.31
13: Permission denied while connecting to upstream  (0) 2024.07.30
nginx Load Balancing  (0) 2024.07.29
nginx ssl 설정  (0) 2024.07.29
nginx.conf (2)  (0) 2024.07.29