Bonjour,
Pour passer le temps confiné, j'ai essayé d'installer un serveur proxmox avec plusieurs containers. Un des containers est une instance haproxy qui transmet la requête à l'un des autres container selon le nom de domaine.
Cela fonctionne bien en http puisque selon le nom de domaine, le serveur nginx affiche la page souhaitée.
Par contre lorsque je souhaite mettre en place un certificat Let's encrypt cela ne fonctionne pas du tout et je ne comprends pas pourquoi :-(
Firefox et autres navigateurs affichent :
Échec de la connexion sécurisée
Une erreur est survenue pendant une connexion à nginx.test.fr.
La page que vous essayez de consulter ne peut pas être affichée car l’authenticité des données reçues ne peut être vérifiée.
Pour installer let's encrypt sur le serveur Haproxy et fournir les certificats j'ai suivi ce tutorial https://serversforhackers.com/c/letsencrypt-with-haproxy
Est-ce que vous avez une idée pour savoir quoi regarder ?
Merci
# des pistes
Posté par NeoX . Évalué à 4.
veux tu que letsencrypt soit sur ton instance HAPROXY ? ou sur le serveur final (backend) ?
si tu veux que ce soit le serveur final, il faut faire du proxy TCP pour le port 443,
ainsi les connexions arrivent directement au serveur final
mais je relis ton post et vois que le tutu parle bien d'avoir le letsencrypt sur le serveur qui gere haproxy.
de plus, tu sembles utiliser un domaine test.fr
je doute que letsencrypt puisse revenir chez toi par ce domaine (mais c'était peut-être pour ne pas dévoiler ton vrai domaine ici)
autre piste, tu as vu que le tutu est découpé en 3 parties :
* l'installation de base, qui intercepte TOUT le trafic sur le port 80 à la recherche du l'adresse .acme….
* la gestion du certificat sur le disque (concatenation pour haproxy)
* config qui contient enfin le certificat et va gérer le cas du renouvellement.
[^] # Re: des pistes
Posté par dark_moule . Évalué à 1.
L'objectif était de disposer des serveurs sur le serveur Haproxy puisque cela évite d'avoir à configurer tous les serveurs derrière.
Je me rends compte que l'anomalie ne vient pas de Haproxy mais peut-être d'iptables puisque j'ai le résultat suivant sur le serveur proxmox :
Il n'est donc pas possible d'établir des connexions sécurisées, c'est pas bon signe…
[^] # Re: des pistes
Posté par pstk (site web personnel) . Évalué à 1. Dernière modification le 06 avril 2020 à 09:23.
Un telnet passe ?
telnet linuxfr.org 443
Sinon effectivement c'est que tu es bloqué en sortie.
[^] # Re: des pistes
Posté par dark_moule . Évalué à 1. Dernière modification le 07 avril 2020 à 17:00.
J'ai tout réinstallé et maintenant j'arrive à contacter un serveur distant sur le port 443
En installant le serveur nginx de base, sans installer les certificats, j'arrive bien à consulter la page par défaut en http. Par contre dès que je passe en https j'ai une anomalie :
Je vais creuser davantage
[^] # Re: des pistes
Posté par NeoX . Évalué à 3. Dernière modification le 07 avril 2020 à 17:17.
alors, tu parles de NGINX mais tu veux mettre en place ton letsencrypt sur un haproxy
ton problème pourrait venir de là.
dans la logique des choses, tu devrais avoir
le paquet arrive sur le haproxy, decode le debut du ssl (SNI), puis selon le domaine, sélectionne le bon certificat, puis envoie le reste de la requête au bon serveur sur le réseau privé
et dans tes precedents posts, tu sembles vouloir mettre haproxy ET nginx sur la meme machine.
tu sais que nginx sait gérer le multidomaine et le ssl tout seul ?
[^] # Re: des pistes
Posté par dark_moule . Évalué à 1.
effectivement, j'ai exactement le même schéma que tu présente.
j'ai généré un seul certificat avec les deux domaines à gérer mais cela ne fonctionne pas et je ne sais pas pourquoi, ce qui est embêtant pour trouver une solution.
des machines privées c'est assez pratique car on peut sauvegarder facilement par snapshot et avoir une configuration indépendante pour des besoins spécifiques. c'est pour ça que j'aimerai arriver à le mettre en place.
[^] # Re: des pistes
Posté par dark_moule . Évalué à 1.
J'ai mis en place le certificat let's encrypt et j'ai exactement la même erreur :
Est-ce qu'une âme charitable pourrait m'apporter des informations pour résoudre ce problème ?
[^] # Re: des pistes
Posté par NeoX . Évalué à 2.
ton certificat est mis où ?
est-il complet ?
dans la documentation il est bien dit qu'après obtention par letsencrypt, il faut concatènera la clef, le certificat et la CA dans un SEUL fichier.
c'est ensuite ce fichier que tu donnes à haproxy dans le fichier de configuration
[^] # Re: des pistes
Posté par dark_moule . Évalué à 1.
Lorsque je consulte la page en HTTPS sans le certificat sur HAProxy :
Une fois le certificat obtenu par certbot j'ai fait :
Ensuite j'utilise le certificat dans la configuration de HAProxy :
frontend https_bind
bind *:443 ssl crt /etc/haproxy/certs/conf.mon_domaine.fr.pem
Je recharge HAProxy systemctl restart haproxy et là le message indique :
Comme je n'arrive pas à savoir d'où vient le problème je peux te fournir les accès en privé car là je suis complètement démoralisé :'-(
[^] # Re: des pistes
Posté par dark_moule . Évalué à 1.
Ahhh j'ai trouvé ! À force de modifier les fichiers le hostname du serveur n'était plus identique à celui de l'URL. En HTTP il arrivait à charger la page mais en HTTPS il n'aimait pas du tout. Quelle bêtise de ma part :(
Dommage que l'erreur ne soit pas plus explicite dans le navigateur mais au moins c'est résolu et je vais pouvoir continuer mes tests.
Merci pour ton aide !
[^] # Re: des pistes
Posté par NeoX . Évalué à 2.
le navigateur devrait te dire que le certificat présenté n'est pas celui pour le domaine demandé
enfin firefox le fait après avoir cliquer sur "en savoir plus" ou afficher le detail
sinon en effet, il te dit juste que c'est pas "sécurisé"
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.