1 votes

Certificat auto-signé pour haproxy provoque un avertissement de connexion non sécurisée dans Chrome

Je tente de configurer la terminaison SSL avec HAProxy comme stand de test. Il sert bien la page de test sur le port 80, mais sur le port 443, Chrome montre un avertissement indiquant que la connexion SSL n'est pas sécurisée et l'icône avec https barré.

J'ai créé le certificat avec ces commandes :

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout web.key -out web.crt
cat web.crt web.key > web.pem

avec le nom commun défini comme haproxy.com

J'ai également ajouté haproxy.com à mon fichier /etc/hosts

Voici un extrait de la configuration de HAProxy :

frontend  main
    bind *:80
    bind *:443 ssl crt /root/web.pem
    mode http
    default_backend             app

backend app
    balance     roundrobin
    server  app1 127.0.0.1:8080 check
    server  app2 127.0.0.1:8081 check

Comment puis-je gérer cet avertissement ?

5voto

d3ag0s Points 166

Un certificat auto-signé n'est pas reconnu par aucun navigateur, car c'est vous qui avez signé le certificat et non une autorité de certification. Vous pouvez importer le certificat racine dans le magasin de confiance du navigateur, mais cela ne fera que rendre votre connexion sûre, tandis que les autres recevront le même message d'avertissement.

0voto

berhauz Points 101

Même avec un certificat officiel signé par une autorité de certification (CA), j'ai reçu un avertissement de Chrome pour une connexion non sécurisée jusqu'à ce que j'ajoute le paramètre X-Forwarded-Proto dans mon frontend. Exemple simplifié où haproxy est utilisé en tant que frontal SSL en local vers un backend Tomcat écoutant (sans SSL) sur le port 8080 :

frontend web_plainhttp
    bind *:80
    redirect prefix https://www.example.com code 301 
frontend web_https
    bind *:443 ssl crt www.example.com_SSLcert.pem
    http-request set-header X-Forwarded-Proto https
    option forwardfor
    default_backend w_website
backend w_website
    server w_server 127.0.0.1:8080

Il suffit de supprimer la ligne "http-request set-header X-Forwarded-Proto https" et Chrome affiche la connexion comme non sécurisée... en effet, les réponses http sont affectées par le serveur backend renvoyant http ou https dans les en-têtes/contenu selon le protocole entrant

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X