Déploiement sécurisé à l'aide du proxy inverse
Découvrez comment configurer un service proxy inverse à l'aide de NGINX pour accéder aux microservices Oracle GoldenGate sans utiliser de numéros de port.
Conditions préalables à l'utilisation de ReverseProxySettings
Vous pouvez utiliser n'importe quel service proxy inverse avec MA. L'exemple suivant fournit un processus que vous pouvez suivre pour configurer d'autres services de proxy inverse en association avec la documentation de votre serveur proxy.
Les prérequis suivants fournissent des détails sur la configuration minimale requise pour configurer un proxy inverse NGINX. Des exigences similaires peuvent être requises pour votre environnement et le proxy inverse, si vous utilisez un utilitaire différent pour la configuration du proxy.
Remarque : lors de l'installation d'Oracle GoldenGate 26ai sur Oracle Linux 8 ou RHEL 8, assurez-vous que la version de NGINX est 1.24 ou supérieure en activant le flux de module NGINX approprié.
-
Installez NGINX, reportez-vous à Installation du serveur Web et du proxy NGINX sur Oracle Linux. Pour Oracle Linux, la commande d'installation de NGINX est la suivante :
yum -y install nginx -
Vérifiez que la version de JRE est JRE 8 ou supérieure.
-
Installez Oracle GoldenGate MA.
-
Créez un ou plusieurs déploiements MA actifs.
-
Assurez-vous que l'utilisateur Oracle dispose des droits d'accès
sudo. -
Configurez la variable d'environnement
PATHpour inclure le chemin du répertoire d'installation NGINX.
Exécuter l'utilitaire ReverseProxySettings pour configurer NGINX
Une installation d'architecture de microservices Oracle GoldenGate inclut l'utilitaire ReverseProxySettings. L'utilitaire ReverseProxySettings se trouve dans le répertoire $OGG_HOME/lib/utl/reverseproxy.
Pour identifier les commandes supplémentaires qui peuvent être utilisées avec l'utilitaire ReverseProxySettings, exécutez l'utilitaire avec l'option --help :
$OGG_HOME/lib/utl/reverseproxy/ReverseProxySettings --help
Les options disponibles avec l'utilitaire ReverseProxySettings sont les suivantes :
-o ou -sortie
Nom du fichier de sortie. Le nom par défaut du fichier est ogg.conf.
-P ou -mot de passe
Mot de passe d'un compte Service Manager.
-l ou -log
Nom du fichier journal et lancement de la journalisation. La valeur par défaut est Aucune journalisation.
–trailOnly
Configurer uniquement pour les données de trace entrantes.
-t ou -type
Type de serveur proxy. La valeur par défaut est Nginx.
-s ou -no-ssl
Configurer sans SSL.
-h ou -host
Nom d'hôte virtuel pour le proxy inverse.
-p ou -port
Numéro de port proxy inverse. Les valeurs par défaut sont 80 ou 443.
- ? ou -aide
Afficher les informations d'utilisation.
-u ou -utilisateur
Nom du compte du gestionnaire de services à utiliser.
-v ou -version
Affiche le numéro de version.
Exécuter l'utilitaire ReverseProxySettings
Pour utiliser l'utilitaire ReverseProxySettings, procédez comme suit :
-
Pour générer un fichier de configuration pour le proxy inverse NGINX, accédez à l'emplacement de l'utilitaire
ReverseProxySettings:cd $OGG_HOME/lib/utl/reverseproxy -
Exécutez l'utilitaire ReverseProxySetting :
ReverseProxySettings -u *adminuser* -P *adminpwd* -o ogg.conf http://localhost:9100Dans ce fragment de code,
adminuserest le nom utilisateur du déploiement etadminpwdle mot de passe utilisateur du déploiement utilisé pour se connecter au déploiement. -
Copiez le fichier
ogg.confgénéré à l'étape 2 dans le répertoire/etc/nginx/conf.d.sudo cp ogg.conf /etc/nginx/conf.d/. -
Mettez à jour le fichier
ogg.confpour les paramètres SSL/TLS en procédant comme suit :-
Recherchez la ligne
ssl_ciphers, remplacez-la par ce qui suit :ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305; -
Ajoutez une autre ligne en dessous de cette ligne :
ssl_conf_command Ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256; -
Si vous utilisez un certificat auto-signé, assurez-vous que la clé privée et le fichier de certificat
pemont été copiés dans le répertoire/etc/nginx, comme indiqué dans l'exemple suivant :sudo cp ogg.key /etc/nginx/. sudo cp ogg.pem /etc/nginx/.Modifiez les deux lignes suivantes pour pointer vers l'emplacement de fichier correct :
ssl_certificate /etc/nginx/ogg.pem; ssl_certificate_key /etc/nginx/ogg.key; -
Si vous utilisez un certificat signé par une autorité de certification racine, assurez-vous que tous les certificats CA intermédiaires ont été ajoutés à votre certificat de serveur :
cat server_cert.pem intermediate_ca_cert1.pem intermediate_ca_cert2.pem > ogg_chain.pemCopiez la clé privée et la chaîne de certificats dans
/etc/nginx:sudo cp ogg_chain.pem /etc/nginx/. sudo cp ogg_key /etc/nginx/.Modifiez les deux lignes suivantes pour pointer vers l'emplacement de fichier correct :
ssl_certificate /etc/nginx/ogg_chain.pem; ssl_certificate_key /etc/nginx/ogg.key;
-
-
Validez la configuration NGINX :
sudo nginx -tSi la commande réussit, la sortie affiche ce qui suit :
NGINX: the configuration file /etc/NGINX/NGINX.conf syntax is ok NGINX: configuration file /etc/NGINX/NGINX.conf test is successful -
Redémarrez le service NGINX :
sudo systemctl restart nginxSi les modifications apportées au fichier de configuration ne sont pas chargées, arrêtez et redémarrez le proxy.
-
Pour vérifier si vous pouvez accéder aux microservices après la configuration de NGINX, ouvrez le navigateur Web.
-
Entrez l'URL proxy du gestionnaire de services à l'aide du numéro de port 443, comme suit :
http://dc.example.com:443
Cela permet d'ouvrir la page de connexion du gestionnaire de services, à partir de laquelle vous pouvez également accéder aux autres microservices. Si vous souhaitez accéder directement à un microservice, vous pouvez entrer l'URL proxy de ce microservice, comme indiqué dans le fichier
ogg.conf, généré précédemment.
Reportez-vous également à cette vidéo pour configurer le proxy inverse NGINX.
Résiliation SSL
Lorsqu'il existe une connexion non sécurisée entre le proxy inverse, qui utilise une connexion basée sur TLS, et le serveur d'origine, il est appelé terminaison SSL du proxy inverse. Remarque : dans SSL-Termination, les connexions entre le proxy inverse et les serveurs d'origine ne sont pas sécurisées.
Cependant, le pontage SSL est également pris en charge lorsque les connexions entre le client et le proxy inverse sont sécurisées et que la connexion entre le proxy inverse et le serveur d'origine est également sécurisée.
Remarque : mTLS n'est pas pris en charge lorsqu'un proxy inverse est utilisé.