web-dev-qa-db-fra.com

Comment configurer Letsencrypt pour l'équilibreur de charge Google Cloud Compute Engine?

J'ai configuré mon projet Google Cloud pour utiliser un équilibreur de charge en combinaison avec des modèles d'instance de mise à l'échelle automatique. Actuellement, le groupe d'instances n'a qu'une seule instance.

Mon nom de domaine fait référence avec succès à l'IP des équilibreurs de charge. Jusqu'à ces étapes, tout fonctionne correctement.

Maintenant, je veux configurer SSL pour ce projet. Je voudrais le faire avec le service Letsencrypt, mais je n'ai aucun succès en essayant de configurer cela.

Dans la fenêtre de l'équilibreur de charge de Google Cloud Engine, il existe une option pour configurer un certificat créé précédemment avec Google Cloud Shell sur l'interface utilisateur de l'équilibreur de charge. Malheureusement, je ne peux créer un fichier .csr et .key qu'avec Google Cloud Shell. De plus, je peux créer un certificat SSL non sécurisé et en obtenir le fichier .cert, mais je voudrais créer un fichier de certificat SSL sécurisé à l'aide de letsencrypt. Les services Letsencrypt nécessitent un accès direct au domaine depuis l'interface de ligne de commande sur laquelle le commando a été exécuté. C'est probablement la raison pour laquelle je reçois une erreur indiquant que le nom de domaine ne peut pas être récupéré.

Je recherche un moyen d'installer le certificat Letsencrypt sur l'équilibreur de charge à l'aide de Google Cloud. Existe-t-il un moyen de créer manuellement un fichier .cert avec letsencrypt au lieu de l'installer directement? Sinon, existe-t-il un autre moyen ou service pour créer un fichier .cert à partir d'un fichier .csr et .key?

13
Lennard Deurman

Vous pouvez utiliser sslforfree.com , qui appelle LetsEncrypt pour vous et vous donne les clés de téléchargement. Il peut également vous rappeler de renouveler vos certificats. (Il n'y a actuellement aucun moyen de renouveler automatiquement les certificats dans Google LB)

5
danqing

Vous pouvez utiliser certbot

Voici un exemple de création de certificats uniquement

$ ./certbot-auto certonly --standalone --email [email protected] -d example.com -d www.example.com
3
miguelfrancisco85

Si vous utilisez Kubernetes en plus de Google Compute Engine, une bonne solution est cert-manager , qui succède à kube-lego . Les deux peuvent demander automatiquement des certificats pour les ressources Kubernetes Ingress à Let's Encrypt:

Caractéristiques

  • Reconnaît la nécessité d'un nouveau certificat pour ces cas:
    • Aucun certificat existant
    • Le certificat existant ne contient pas tous les noms de domaine
    • Le certificat existant a expiré ou est proche de sa date d'expiration (cf. option LEGO_MINIMUM_VALIDITY)
    • Le certificat existant est impossible à analyser, invalide ou ne correspond pas à la clé secrète
  • Crée un compte utilisateur (y compris une clé privée) pour Let's Encrypt et le stocke dans les secrets Kubernetes (le nom secret est configurable via LEGO_SECRET_NAME)
  • Obtient les certificats manquants de Let's Encrypt et autorise la demande avec le défi HTTP-01
  • S'assure que les objets Kubernetes spécifiques (Services, Ingress) contiennent la configuration des droits pour que le défi HTTP-01 réussisse
  • Graphique officiel de Kubernetes Helm pour un déploiement simpliste.

Un tutoriel étape par étape pour GCE est disponible .

2
Max Desiatov

Un bon moyen d'atteindre votre objectif est la fonction cloud + planificateur cloud + https://github.com/bloomapi/letsencrypt-gcloud-balancer

0
Frutik