역 프록시를 사용한 보안 배치
포트 번호를 사용하지 않고 Oracle GoldenGate Microservices에 액세스하기 위해 NGINX를 사용하여 역 프록시 서비스를 구성하는 방법을 알아봅니다.
ReverseProxySettings 사용을 위한 필수 조건
MA에서 역 프록시 서비스를 사용할 수 있습니다. 다음 예에서는 프록시 서버에 대한 설명서와 함께 다른 역 프록시 서비스를 구성하기 위해 따라갈 수 있는 프로세스를 제공합니다.
다음 필수 조건은 NGINX Reverse Proxy를 구성하기 위한 최소 요구 사항에 대한 세부 정보를 제공합니다. 프록시 구성에 다른 유틸리티를 사용하는 경우 사용자 환경 및 역 프록시에도 유사한 요구 사항이 필요할 수 있습니다.
주: Oracle Linux 8 또는 RHEL 8에 Oracle GoldenGate 26ai를 설치할 때 적절한 NGINX 모듈 스트림을 사용으로 설정하여 NGINX 버전이 1.24 이상인지 확인하십시오.
-
NGINX를 설치합니다. Install the NGINX Web Server and Proxy on Oracle Linux를 참조하십시오. Oracle Linux의 경우 NGINX를 설치하는 명령은 다음과 같습니다.
yum -y install nginx -
JRE 버전이 JRE 8 이상인지 확인합니다.
-
Oracle GoldenGate MA를 설치합니다.
-
하나 이상의 활성 MA 배치를 만듭니다.
-
Oracle 사용자에게
sudo권한이 있는지 확인합니다. -
NGINX 설치 디렉토리 경로를 포함하도록
PATH환경 변수를 구성합니다.
ReverseProxySettings 유틸리티를 실행하여 NGINX 구성
Oracle GoldenGate Microservices Architecture 설치에는 ReverseProxySettings 유틸리티가 포함됩니다. ReverseProxySettings 유틸리티는 $OGG_HOME/lib/utl/reverseproxy 디렉토리에 있습니다.
ReverseProxySettings 유틸리티와 함께 사용할 수 있는 추가 명령을 식별하려면 --help 옵션을 사용하여 유틸리티를 실행합니다.
$OGG_HOME/lib/utl/reverseproxy/ReverseProxySettings --help
ReverseProxySettings 유틸리티에서 사용할 수 있는 옵션은 다음과 같습니다.
-o 또는 –output
출력 파일 이름입니다. 기본 파일 이름은 ogg.conf입니다.
-P 또는 –password
서비스 관리자 계정의 비밀번호입니다.
-l 또는 –log
로그 파일 이름 및 로깅을 시작합니다. 기본값은 로깅 없음입니다.
–trailOnly
인바운드 추적 데이터에 대해서만 구성합니다.
-t 또는 –type
프록시 서버 유형입니다. 기본값은 Nginx입니다.
-s 또는 –no-ssl
SSL 없이 구성합니다.
-h 또는 –host
역 프록시의 가상 호스트 이름입니다.
-p 또는 –port
역 프록시 포트 번호입니다. 기본값은 80 또는 443입니다.
-? 또는 –help입니다.
사용 정보를 표시합니다.
-u 또는 –user
사용할 서비스 관리자 계정의 이름입니다.
-v 또는 –version
버전을 표시합니다.
ReverseProxySettings 유틸리티 실행
ReverseProxySettings 유틸리티를 사용하려면 다음을 수행합니다.
-
NGINX 역 프록시용 구성 파일을 생성하려면
ReverseProxySettings유틸리티의 위치로 이동합니다.cd $OGG_HOME/lib/utl/reverseproxy -
ReverseProxySetting 유틸리티를 실행합니다.
ReverseProxySettings -u *adminuser* -P *adminpwd* -o ogg.conf http://localhost:9100이 코드 조각에서
adminuser는 배포 사용자 이름이고adminpwd는 배포에 로그인하는 데 사용되는 배포 사용자 비밀번호입니다. -
2단계에서 생성한
ogg.conf파일을/etc/nginx/conf.d디렉토리에 복사합니다.sudo cp ogg.conf /etc/nginx/conf.d/. -
다음 단계를 사용하여 SSL/TLS 설정에 대한
ogg.conf파일을 업데이트합니다.-
ssl_ciphers행을 찾아 다음으로 바꿉니다.ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305; -
이 행 아래에 다른 행을 추가합니다.
ssl_conf_command Ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256; -
자체 서명된 인증서를 사용하는 경우 다음 샘플에 표시된 것과 같이, 개인 키 및 인증서
pem파일이/etc/nginx디렉토리에 복사되었는지 확인합니다.sudo cp ogg.key /etc/nginx/. sudo cp ogg.pem /etc/nginx/.다음 두 행을 올바른 파일 위치를 가리키도록 변경합니다.
ssl_certificate /etc/nginx/ogg.pem; ssl_certificate_key /etc/nginx/ogg.key; -
루트 CA 서명 인증서를 사용하는 경우 모든 중간 CA 인증서가 서버 인증서에 추가되었는지 확인합니다.
cat server_cert.pem intermediate_ca_cert1.pem intermediate_ca_cert2.pem > ogg_chain.pem개인 키 및 인증서 체인을
/etc/nginx에 복사합니다.sudo cp ogg_chain.pem /etc/nginx/. sudo cp ogg_key /etc/nginx/.다음 두 행을 올바른 파일 위치를 가리키도록 변경합니다.
ssl_certificate /etc/nginx/ogg_chain.pem; ssl_certificate_key /etc/nginx/ogg.key;
-
-
NGINX 구성을 검증합니다.
sudo nginx -t명령이 성공하면 출력에 다음이 표시됩니다.
NGINX: the configuration file /etc/NGINX/NGINX.conf syntax is ok NGINX: configuration file /etc/NGINX/NGINX.conf test is successful -
NGINX 서비스 다시 시작:
sudo systemctl restart nginx구성 파일에 대한 변경 사항이 로드되지 않으면 프록시를 중지했다가 다시 시작합니다.
-
NGINX가 성공적으로 설정된 후 마이크로서비스에 액세스할 수 있는지 테스트하려면 웹 브라우저를 엽니다.
-
다음과 유사한 포트 번호 443을 사용하여 Service Manager에 대한 프록시 URL을 입력합니다.
http://dc.example.com:443
그러면 다른 마이크로서비스에도 액세스할 수 있는 Service Manager 로그인 페이지가 열립니다. 마이크로서비스에 직접 액세스하려는 경우 이전에 생성된
ogg.conf파일에 제공된 대로 해당 마이크로서비스에 대한 프록시 URL을 입력할 수 있습니다.
또한 NGINX 역 프록시 구성에 대한 이 비디오를 참조하십시오.
SSL 종료
TLS 기반 연결을 사용하는 역방향 프록시와 원천 서버 간에 비보안 연결이 있는 경우 역방향 프록시 SSL 종료라고 합니다. 주: SSL 종료 시 역 프록시와 원천 서버 간의 연결은 안전하지 않습니다.
그러나 클라이언트와 역 프록시 간의 연결이 보안되고 역 프록시와 원천 서버 간의 연결도 보안되는 경우에도 SSL 브리징이 지원됩니다.
주: 역 프록시가 사용되는 경우 mTLS가 지원되지 않습니다.