Fortigate: Demander un certificat LetsEncrypt derrière un reverse proxy Apache

De Adadov.net wiki
Révision datée du 17 janvier 2023 à 22:10 par Adadov (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Ecrit Par : Adadov

Introduction[modifier | modifier le wikicode]

LetsEncrypt utilise obligatoirement les ports par défaut pour vérifier la propriété d'un FQDN, ce qui dans le cas d'un Fortigate peut poser problème. En effet il est possible que le port 80 ai été redirigé vers un serveur web rendant impossible l'utilisation directe.

Dans ce cas il est possible d'ajouter sur le serveur web vers lequel est redirigé le port 80 un reverse proxy afin de renvoyer vers une interface du Fortigate qui sera utilisée par le client LetsEncrypt interne.

Configuration Fortigate[modifier | modifier le wikicode]

Je reviendrais pas sur la partie requête du certificat, la documentation officielle fonctionne très bien. Vous pouvez la trouver ici: http://docs.fortinet.com/document/fortigate/7.0.0/new-features/822087/acme-certificate-support

Si vous avez choisi, pour ACME, une interface qui permet d'accéder à l'admin du Fortigate les ports par défaut doivent obligatoirement être modifié pour http.

L'IP de l'interface choisi sera celle à utiliser dans votre configuration Apache pour FORTIGATE_INTERFACE_IP.

Configuration Apache[modifier | modifier le wikicode]

Ensuite il faudra configurer votre reverse proxy dans apache de la manière suivante:

<VirtualHost *:80>
	ServerName FORTIGATEFQDN

	ProxyPass / http://FORTIGATE_INTERFACE_IP/
	ProxyPassReverse / http://FORTIGATE_INTERFACE_IP/
	ProxyPreserveHost On
</VirtualHost>

Si vous souhaitez en profiter pour ajouter des reverse proxy afin d'accéder à l'admin on peut le faire simplement il vous faudra probablement demander à apache de ne pas vérifier le certificat du fortigate afin de ne pas risquer d'être bloqué.

On peut le faire en ajoutant les options suivantes dans le vhost:

    SSLProxyEngine On
    SSLProxyCheckPeerCN off
    SSLProxyCheckPeerExpire off