使用反向代理主機進行安全部署

瞭解如何使用 NGINX 設定反向代理主機服務,無須使用連接埠號碼即可存取 Oracle GoldenGate Microservices。

ReverseProxySettings 的使用先決條件

您可以搭配 MA 使用任何反向代理主機服務。下列範例提供一個處理程序,讓您跟隨它一起配置其他反向代理主機服務和代理主機伺服器的文件。

下列先決條件提供設定 NGINX 反向代理主機的最低需求詳細資訊。如果您使用不同的代理主機組態公用程式,您的環境和反向代理主機可能需要類似的需求。

注意:在 Oracle Linux 8 或 RHEL 8 上安裝 Oracle GoldenGate 26ai 時,請啟用適當的 NGINX 模組串流,確保 NGINX 版本為 1.24 或更新版本。

  1. 安裝 NGINX,請參閱 Install the NGINX Web Server and Proxy on Oracle Linux 。若為 Oracle Linux,則安裝 NGINX 的指令為:

    yum -y install nginx

  2. 請檢查 JRE 版本是否為 JRE 8 或更新版本。

  3. 安裝 Oracle GoldenGate MA。

  4. 建立一或多個作用中 MA 部署。

  5. 請確定 Oracle 使用者具有 sudo 權限。

  6. 設定 PATH 環境變數以包含 NGINX 安裝目錄路徑。

執行 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

Service Manager 帳號的密碼。

-l 或 -log

日誌檔名稱並起始記錄日誌。預設值為無記錄日誌。

–trailOnly

僅設定入埠追蹤資料。

-t 或 -type

代理主機伺服器類型。預設值為 Nginx。

-s 或 – no-ssl

不使用 SSL 設定 。

-h 或 -host

反向代理主機的虛擬主機名稱。

-p 或 -port

反向代理主機連接埠號碼。預設值為 80 或 443。

-?或 – help

顯示用途資訊。

-u 或 – user

要使用的 Service Manager 帳號名稱。

-v 或 – version

顯示版本。

執行 ReverseProxySettings 公用程式

若要使用 ReverseProxySettings 公用程式,請執行下列動作:

  1. 若要產生 NGINX 反向代理主機的組態檔,請瀏覽至 ReverseProxySettings 公用程式的位置:

    cd $OGG_HOME/lib/utl/reverseproxy
  2. 執行 ReverseProxySetting 公用程式:

    ReverseProxySettings -u *adminuser* -P *adminpwd* -o ogg.conf http://localhost:9100

    在此程式碼片段中,adminuser 是部署使用者名稱,而 adminpwd 是用來登入部署的部署使用者密碼。

  3. 將步驟 2 中產生的 ogg.conf 檔案複製到 /etc/nginx/conf.d 目錄。

    sudo cp ogg.conf /etc/nginx/conf.d/.
  4. 使用下列步驟更新 ogg.conf 檔案的 SSL/TLS 設定值:

    1. 尋找 ssl_ciphers 行,以下列項目取代:

      ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305;
    2. 在此行下新增其他行:

      ssl_conf_command Ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256;
    3. 如果您使用自行簽署的憑證,請確定您的私密金鑰和憑證 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;
    4. 如果您使用根 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;
  5. 驗證 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
  6. 重新啟動 NGINX 服務:

    sudo systemctl restart nginx

    如果未載入組態檔的變更,請停止並重新啟動代理主機。

  7. 若要在 NGINX 設定成功後測試是否可以存取微服務,請開啟 Web 瀏覽器。

  8. 使用連接埠號碼 443 輸入「服務管理程式」的代理主機 URL,如下所示:

    http://dc.example.com:443

    這會開啟「服務管理程式」登入頁面,供您存取其他微服務。如果您要直接存取微服務,可以輸入該微服務的代理主機 URL (如先前產生的 ogg.conf 檔案中所指定)。

另請參閱此影片,瞭解如何設定 NGINX 反向代理主機。

SSL 終止

當反向代理主機 (使用以 TLS 為基礎的連線) 和來源伺服器之間發生不安全連線時,稱為反向代理主機 SSL 終止。注意:在 SSL 終止中,反向代理主機與來源伺服器之間的連線是不安全的。

不過,如果用戶端與反向代理主機之間的連線受到保護,且反向代理主機與來源伺服器之間的連線也受到保護,則也支援 SSL 混合功能。

注意:使用「反向代理主機」時,不支援 mTLS。