Table des matières

Proxy d'application : générer et utiliser un certificat wildcard *.domaine.fr avec Let’s Encrypt

Présentation

La publication d'une application locale utilise par défaut le nom de domaine .msappproxy.net.

L'utilisation d'un nom de domaine personnalisé à la place du nom de domaine .msappproxy.net nécessite les démarches suivantes :

Les SAN sont obligatoires pour Chrome/Edge (sinon NET::ERRCERTCOMMONNAMEINVALID)

Si tout est bien configuré, Azure gère correctement HTTPS et le navigateur verra un certificat :

Attention Let’s Encrypt ne permet les certificats wildcard que via validation DNS, jamais par validation HTTP.

Installer Certbot

apt update && apt upgrade -y
apt install python3 python3-pip python3-venv
python3 -m venv /opt/certbot/
/opt/certbot/bin/pip install --upgrade pip
/opt/certbot/bin/pip install certbot
ln -s /opt/certbot/bin/certbot /usr/bin/certbot

Lancer Certbot en mode DNS manuel (wildcard)

certbot certonly --manual --preferred-challenges=dns -d *.educ-valadon-limoges.fr -d educ-valadon-limoges.fr
Créer un enregistrement :
Nom : _acme-challenge.domaine.fr
Valeur : D7Jks829skdllQWmy9fJsd9S3Xke

Ajouter l’enregistrement DNS TXT

TypeNomValeur
TXT_acme-challenge.domaine.frclé fournie par Certbot

Ensuite, retournez dans le terminal et validez.

Récupérer les fichiers générés

FichierRôle
fullchain.pemCertificat complet (inclut autorités intermédiaires)
privkey.pemClé privée
cert.pemCertificat individuel

Convertir les fichiers en PFX pour Azure

Azure exige un fichier PFX avec certificat + clé privée.

openssl pkcs12 -export \
  -out wildcard-domaine-fr.pfx \
  -  -inkey /etc/letsencrypt/live/domaine.fr/privkey.pem \
  -   -in /etc/letsencrypt/live/domaine.fr/fullchain.pem \
  -   -password pass:VotreMotDePassePFX``

Importer le certificat dans Azure Application Proxy

Azure utilise maintenant votre wildcard pour ce domaine.

Vérifier

Dans le navigateur accédez à https://app.domaine.fr

Vous devez voir :

Configurer le renouvellement automatique du certificat

Le certificat est valide 4 mois.