Comment configurer un certificat CA SSL en haproxy
- 1667
- 507
- Clara Nguyen
Le Haproxy est un proxy inversé largement utilisé, fiable et haute performance, qui offre des capacités d'équilibrage de haute disponibilité et de charge pour les applications TCP et HTTP. Par défaut, il est compilé avec OpenSSL, Ainsi le soutien SSL terminaison, permettant à votre site Web / pile d'application de crypter et de décrypter le trafic entre votre «serveur de saisie Web» ou les applications du serveur de passerelle d'accès aux applications et des clients.
Ce guide montre comment configurer un CA SSL certificat HAPERXY. Ce guide suppose que vous avez déjà reçu votre certificat de l'AC et que vous êtes prêt à l'installer et à le configurer sur un serveur Haproxy.
Les fichiers attendus sont:
- Le certificat lui-même.
- Les certificats intermédiaires également appelés faisceaux ou chaînes, et.
- La racine ca, si disponible, et.
- La clé privée.
Créer un fichier de certificat SSL à format PEM
Avant de configurer votre Californie certificat Haproxy, Vous devez comprendre cela Haproxy nécessite un seul .pem
Fichier qui doit contenir le contenu de tous les fichiers ci-dessus, concaténés dans l'ordre suivant:
- La clé privée qui se termine par
.clé
, (peut venir au début ou à la fin du fichier). - Suivi du certificat SSL (se termine généralement par
.CRT
). - Ensuite, le CA-Bundle (se termine généralement par
.camer
), et - La racine ca, si disponible.
Pour créer le .pem
fichier, emménager dans le répertoire qui a vos fichiers de certificat E.g ~ / Téléchargements, Ensuite, exécutez la commande Cat comme celle-ci (remplacez les noms de fichiers en conséquence):
$ Cat Exemple.com.clé star_example_com / star_example_com.crt star_example_com / star_example_com.CA-Bundle> Exemple.com.pem
Configurer le certificat PEM SSL en haproxy
Ensuite, téléchargez le juste créé .pem
Fichier de certificat au Haproxy serveur utilisant la commande SCP comme indiqué (remplacer sysadmin et 192.168.dix.24 avec le nom d'utilisateur du serveur distant et l'adresse IP respectivement):
$ Exemple SCP.com.pem [e-mail protégé]: / home / sysadmin /
Puis créez un répertoire où le certificat .pem
Le fichier sera stocké en utilisant le mkdir Commandez et copiez le fichier:
$ sudo mkdir -p / etc / ssl / exemple.COM / $ Sudo CP Exemple.com.pem / etc / ssl / exemple.com /
Ensuite, ouvrez votre Haproxy Fichier de configuration et configurer le certificat dans la section Frontend Écouteur, en utilisant les paramètres SSL et CRT: le premier permet la terminaison SSL et le second spécifie l'emplacement du fichier de certificat.
Frontend HTTP_FRONDEND MODE HTTP BIND *: 80 BIND *: 443 SSL CRT / ETC / SSL / EXEMPLE.com / exemple.com.pem alpn h2, http / 1.1 Schéma de redirection Https Code 301 Si !ssl_fc default_backend http_servers
Certaines versions de SSL / TLS ne sont pas recommandés pour une utilisation maintenant en raison de vulnérabilités qui ont été découvertes en eux. Pour limiter la version prise en charge de SSL, vous pouvez ajouter le SSL-Min-Ser paramètre comme ceci:
lier *: 443 ssl crt / etc / ssl / exemple.com / exemple.com.pem alpn h2, http / 1.1 SSL-Min-Ver TLSV1.2
Configurer Haproxy pour rediriger HTTP vers HTTPS
Pour vous assurer que votre site Web n'est accessible que via Https, Vous devez permettre à Haproxy de rediriger tous Http trafic de Https Dans le cas où un utilisateur essaie d'y accéder sur HTTP (port 80).
Ajoutez la ligne suivante à la configuration ci-dessus:
rediriger le schéma https code 301 si !ssl_fc ou schéma de redirection http-request https sauf si ssl_fc
Votre section Frontend devrait maintenant ressembler à celle de cet exemple de configuration:
Frontend HTTP_FRONDEND MODE HTTP BIND *: 80 BIND *: 443 SSL CRT / ETC / SSL / EXEMPLE.com / exemple.com.pem alpn h2, http / 1.1 SSL-Min-Ver TLSV1.2 Rediriger le schéma HTTPS Code 301 Si !ssl_fc default_backend http_servers backend http_servers mode http bancin rondrobin option httpchk head / http-réponse set-header x-frame-options même même http-réponse set-header x-xss protection 1; mode = blic -Content-Type-Options Nosniff Default-Server Check MaxConn 5000 Server http_server1 10.2.1.55:80
Enregistrez le fichier de configuration et fermez-le.
Vérifiez ensuite si sa syntaxe est correcte en utilisant la commande suivante:
$ sudo haproxy -f / etc / haproxy / haproxy.CFG -CVérifier la configuration de Haproxy
Si le fichier de configuration est valide, allez-y et rechargez le service Haproxy pour récupérer les modifications récentes de la configuration, en utilisant la commande SystemCTL:
$ sudo systemctl recharger haproxy
Enfin et surtout, testez toute la configuration en accédant à votre site Web à partir d'un navigateur Web et assurez-vous que le certificat se charge bien et que le navigateur indique que le «La connexion est sécurisée"!
Vérifiez le site Web HaproxyC'est tout! Nous espérons que ce guide vous a aidé à configurer un certificat SSL en logiciel Haproxy Load Balancer. Si vous rencontrez des erreurs, faites-le nous savoir via le formulaire de rétroaction ci-dessous. On sera ravis de vous aider.
- « Installation du bureau de Manjaro 21 (XFCE Edition)
- 30 façons de valider les fichiers de configuration ou les scripts dans Linux »