Skip to main content
Skip table of contents

Sécuriser une application OpenShift avec HTTPS en self-service

Voici une démarche pas-à-pas pour activer le HTTPS automatique via cert-manager sur OpenShift sans ticket IWS. Cette méthode inclut l'automatisation du renouvellement et la validation du certificat — tout en self-service.

Prérequis

  • OpenShift >= 4.12

  • Le cert-manager Operator est installé sur le cluster

  • Vous avez la main sur les ressources du namespace ou des ClusterIssuer

Liste des ClusterIssuers à utiliser:

  • letsencrypt

  • letsencrypt-staging

  • selfsigned

I. Modification de la route

1. Annotation direct

Sur la console OPENSHIFT, en tant qu’Administrateur de votre namespace, se rendre dans la partie “ NETWORKING “, dans l’onglet “Routes”.

  • Cliquer sur “…” puis “Edit annotations

image-20251103-094207.png
  • Puis remplir les champs comme cela (ici pour exemple, on utilise le ClusterIssuers letsencrypt):

image-20251103-094337.png

2. Edition du YAML de la route sur OpenShift

Annoter simplement la Route pour demander un certificat automatique (Let's Encrypt ici) :

YAML
apiVersion: route.openshift.io/v1
kind: Route
metadata:
  name: mon-app-route
  annotations:
    cert-manager.io/issuer-kind: ClusterIssuer
    cert-manager.io/issuer-name: letsencrypt
spec:
  host: mon-app.example.com
  to:
    kind: Service
    name: mon-app-service
  port:
    targetPort: 8080
  • Une fois créée, cert-manager va automatiquement délivrer et installer le certificat TLS dans la Route.

  • Aucun ticket, n’as besoin d'être créer

II. Modification de l’ingress

1. Annotation direct

Sur la console OPENSHIFT, en tant qu’Administrateur de votre namespace, se rendre dans la partie “ NETWORKING “, dans l’onglet “Ingresses”.

  • Cliquer sur “…” puis “Edit annotations

    image-20260128-102632.png
  • Puis remplir les champs comme cela (ici pour exemple, on utilise le ClusterIssuers letsencrypt):

    image-20260128-102724.png

2. Edition du YAML du Ingress sur OpenShift

Annoter simplement la Route pour demander un certificat automatique (Let's Encrypt ici) :

CODE
kind: Ingress
apiVersion: networking.k8s.io/v1
metadata:
  name: mon-app-ingress
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt
.....
  • Une fois créée, cert-manager va automatiquement délivrer et installer le certificat TLS dans la Route.

  • Aucun ticket, n’as besoin d'être créer

III. Validation du certificat

Avec un navigateur

  • Accédez à https://mon-app.example.com — vérifiez que le cadenas est vert ou affiche "connexion sécurisée".

  • Cliquez sur le cadenas pour afficher les détails du certificat.

Avec curl

BASH
curl -v https://mon-app.example.com 
  • Chercher la ligne * SSL certificate verify ok. pour valider que le certificat est reconnu.

Vous pouvez aussi vérifier la validité du certificat et l'autorité émettrice :

BASH
openssl s_client -connect mon-app.example.com:443

IV. Renouvellement automatique

  • cert-manager renouvelle automatiquement les certificats bien avant leur expiration (par défaut renewBefore 30j pour un Let's Encrypt de 90j, personnalisable via annotation).

  • Vous n'avez rien à faire : tant que la route est annotée et l'issuer fonctionnel, le processus est entièrement automatisé et transparent.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.