Fortigate and ACME/Let's Encrypt over http-01 not working
Dear all
I am trying to use the (yes, limited) ACME client on Fortigate to get a TLS cert for a specific domain.
Unfortunately, tls-alpn-01 doesn't work (see below) as tcp/443 is already in use and http-01 isn't kicking in. And I am wondering why.
Running FortiOS 7.4.12 on a 200F active/passive cluster.
Configuration:
- The FQDN is sub.sub.domain.com and resolves on public IP B.
- Public IP B is configured as secondary IP on the WAN interface of the Fortigate.
- The secondary IP has only PING activated, no other administrative access
- The public IP A (same subnet) is the primary IP on the WAN interface
- Public IP A has https as administrative access (trusted hosts and local-in-policies, and not running on tcp/443)
- Both tcp/443 and tcp/80 are not available for public IP A
- tcp/80 is available for public IP B, but tcp/443 is not (IPSec Dialup is listening to it).
Problem:
- According to the acme logs, fortigate tries to get the cert chain and fails - using tls-alpn-01, but never http-01.
- The IP used according to logs is the correct one (public IP B).
- According to the documentation (https://docs.fortinet.com/document/fortigate/7.4.12/administration-guide/822087), http-01 should be used, at least at some point.
Do I really need to use another port for IPsec DialUp over TCP when I want to use ACME? Anyone ever managed to get it running using http-01 instead of tls-alpn-01?
(Using acme.sh and then API might be an option later on, but that is still in discussion and might never be implemented)
Thanks a lot