Configurer un listener TERMINATED_HTTPS via CLI / Horizon

Base de connaissances

Configurer un listener TERMINATED_HTTPS via CLI / Horizon


Icons/System/eye-open Created with Sketch. 64 vues 24.12.2024 Cloud / Network Gateway for Public Cloud

Objectif

Notre Load Balancer Public Cloud est basé sur le service Openstack Octavia et est entièrement intégré dans l'univers Public Cloud.

Une fois votre Load Balancer mis en place, vous pouvez le configurer avec un certificat afin de traiter les connexions HTTPS.

Découvrez comment configurer un Load Balancer Public Cloud sécurisé

Prérequis

Si vous n'êtes pas encore familier avec la création du Load Balancer, veuillez consulter notre guide « Premiers pas avec le service Load Balancer Public Cloud » avant de poursuivre la lecture de ce guide.

En pratique

Attacher une adresse Floating IP à un Load Balancer

Vous trouverez les instructions pour cette partie dans cette documentation dans la section portant le même nom.

Préparation du certificat

Nous aurons pour cette étape besoin d'un certificat, généré au préalable.

Lors de la génération de votre certificat auprès de votre fournisseur, vous recevez généralement 2 ou 3 fichiers, décrits comme suit :

  • Certificat principal (fichier au format .crt ou .pem).
  • Clé privée (fichier .key) générée lors de la requête CSR.
  • Certificat intermédiaire ou chaîne complète (fichier .crt), si fourni. Certains fournisseurs intègrent déjà la chaîne intermédiaire au certificat principal, auquel cas vous ne recevrez que 2 fichiers.

Si vous avez obtenu 3 fichiers, il vous faudra fusionner le certificat principal avec le certificat intermédiaire pour créer un certificat complet. Si votre fournisseur fournit déjà un certificat complet intégrant la chaîne intermédiaire, cette étape de fusion doit être omise.

sudo cat <certificate.crt> <intermediate_chain.crt> > main_certificate.pem

Vous devez créer un package PKCS#12 avec votre certificat à l'intérieur :

sudo openssl pkcs12 -export -inkey <private_key.key> -in <main_certificate.pem> -out domain.tld.p12

Vous devez télécharger ce fichier directement sur votre ordinateur afin de pouvoir l'envoyer dans Openstack Barbican ("Secret as a Service").

openstack secret store --name='cert-domain.tld' -t 'application/octet-stream' -e 'base64' --payload="$(base64 < domain.tld.p12)"

Configurer le Load Balancer

Depuis l'interface Horizon

Dans l'interface d'Horizon, cliquez sur Network puis sur Load Balancers.

Sélectionnez votre Load Balancer en cliquant dessus.

Ensuite, cliquez sur l'onglet Listeners, puis sur Create Listener :

listeners list

Listener Details

listener creation details section

InformationDétails
NameSpécifiez un nom pour votre listener
ProtocolSélectionnez protocole HTTP
PortSélectionnez 80

Pool Details

listener creation pool section

Sous « Create Pool », cliquez sur No, puis en bas, cliquez sur Create Listener.

Une fois le listener créé, cliquez dessus. Ensuite, cliquez sur l'onglet L7 policies, puis sur Create L7 Policy.

l7policy creation

L7 Policy Details

l7policy creation

InformationDétails
NameSpécifiez un nom pour la L7 Policy
ActionChoisissez la valeur REDIRECT_TO_URL
Redirect URLEntrez son nom de domaine
Depuis l'API OpenStack ou l'espace client OVHcloud

Pour créer un listener via l'API OpenStack ou via l'espace client OVHcloud, vous pouvez consulter la section correspondante dans ce guide, dans la section « Configurer votre Load Balancer ».

Puis configurer la redirection des requêtes HTTP vers HTTPS :

openstack loadbalancer l7policy create --action REDIRECT_TO_URL --redirect-url https://<your-domain-or-ip> --name redirect-to-https http-listener

Configurer le Listener sécurisé sur le Load Balancer

Maintenant que vous avez géré votre certificat, vous pouvez ajouter un Listener sécurisé et y associer un pool et ses membres :

Depuis l'interface Horizon

Dans l'interface d'Horizon, ouvrir la section Network puis cliquer sur Load Balancers.

Sélectionnez votre Load Balancer en cliquant dessus.

Vous pouvez désormais cliquer sur la section Listeners, puis sur Create Listener comme suit :

listeners list

Listener Details

listeners https details

InformationDétails
NameSpécifiez un nom pour votre listener
ProtocolSélectionnez le protocole TERMINATED_HTTPS
PortSélectionnez 443

Pool Details

listeners https pool details

Sous « Create Pool », sélectionnez Yes.

InformationDétails
NameSpécifiez un nom pour votre Pool
AlgorithmSélectionnez la valeur ROUND_ROBIN
TLS EnabledSélectionnez Yes

Pool Members

listeners https pool members details

Sélectionnez l'instance correspondante et cliquez sur Add. Une fois cette opération effectuée, sélectionnez 80 comme « Port ».

Monitor Details

Nous allons sélectionner No car nous ne ferons pas la démonstration de cette partie dans ce guide.

SSL Certificates

listeners https ssl details

Sélectionnez le certificat qui à été ajouté préalablement sur Openstack Barbican, dans cette partie.

Ensuite, cliquez sur Create Listener pour créer votre Load Balancer configuré.

Depuis l'API OpenStack
openstack loadbalancer listener create --protocol-port 443 --protocol TERMINATED_HTTPS --name https-listener --default-tls-container=$(openstack secret list | awk '/ cert-domain.tld / {print $2}') my_load_balancer

openstack loadbalancer pool create --name pool-tls --lb-algorithm ROUND_ROBIN --listener https-listener --protocol HTTP

openstack loadbalancer member create --subnet-id my_subnet --address <private_ip_instance> --protocol-port 80 pool-tls

Vous pouvez maintenant accéder à votre Load Balancer de manière sécurisée. Attention toutefois, il faudra renouveler le certificat. Vérifiez la politique de renouvellement auprès de votre fournisseur de certificat.

Aller plus loin

Premiers pas avec le service Load Balancer pour Public Cloud

Documentation officielle d'Openstack Octavia

Cookbook Openstack Octavia

Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur ce lien pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.

Échangez avec notre communauté d'utilisateurs.

Articles associés