Unable to perform an HTTP Let's Encrypt certificate request behind Pangolin reverse proxy #1702

Closed
opened 2026-04-05 19:39:49 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @q20 on 3/17/2025

Good day!

I have a Home Assistant installation which requires a local certificate for secure MQTT. Rather than self-sign, I have previously used the Let's Encrypt addon with DNS/API request to cloudflare, allowing me to deploy any certificate of my choosing.

Now, however, I have opted to deploy Pangolin as reverse proxy, negating the need to store those API credentials in plain text on the HA installation, as Pangolin correctly registers a valid cert for its reverse proxy, ha.example.com. This reverse proxy works via Pangolin exactly as expected.

Local MQTT is still an issue, though. When attempting an HTTP certificate request for the same FQDN, ha.example.com, the request errors with the following:

[10:36:18] INFO: Selected http verification
[10:36:18] INFO: Detecting existing certificate type for ha.example.com
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Requesting a certificate for ha.example.com
Certbot failed to authenticate some domains (authenticator: standalone). The Certificate Authority reported these problems:
  Domain: ha.example.com
  Type:   unauthorized
  Detail: x.x.x.x: Invalid response from http://ha.example.com/.well-known/acme-challenge/xhkbMb_wLRna08hjE0cdcm0jC0fdHK8KIVGHfTp1akI: 404
Hint: The Certificate Authority failed to download the challenge files from the temporary standalone webserver started by Certbot on port 80. Ensure that the listed domains point to this machine and that it can accept inbound connections from the internet.
Some challenges have failed.

Let's just assume that it's absolutely necessary Home Assistant is able to deploy its own, managed, Let's Encrypt cert before workarounds are suggested. 😜

I have a hunch this is not working because Pangolin upgrades all requests to HTTPS, so the HTTP challenge, on port 80, fails. But that's just my gut feeling. When I disable SSL for this resource in Pangolin, Let's Encrypt fails with the same error.

Any ideas? How can Pangolin resources successfully request their own certificates?

*Originally created by @q20 on 3/17/2025* Good day! I have a Home Assistant installation which requires a local certificate for secure MQTT. Rather than self-sign, I have previously used the Let's Encrypt addon with DNS/API request to cloudflare, allowing me to deploy any certificate of my choosing. Now, however, I have opted to deploy Pangolin as reverse proxy, negating the need to store those API credentials in plain text on the HA installation, as Pangolin correctly registers a valid cert for its reverse proxy, `ha.example.com`. This reverse proxy works via Pangolin exactly as expected. Local MQTT is still an issue, though. When attempting an HTTP certificate request for the same FQDN, `ha.example.com`, the request errors with the following: ``` [10:36:18] INFO: Selected http verification [10:36:18] INFO: Detecting existing certificate type for ha.example.com Saving debug log to /var/log/letsencrypt/letsencrypt.log Saving debug log to /var/log/letsencrypt/letsencrypt.log Requesting a certificate for ha.example.com Certbot failed to authenticate some domains (authenticator: standalone). The Certificate Authority reported these problems: Domain: ha.example.com Type: unauthorized Detail: x.x.x.x: Invalid response from http://ha.example.com/.well-known/acme-challenge/xhkbMb_wLRna08hjE0cdcm0jC0fdHK8KIVGHfTp1akI: 404 Hint: The Certificate Authority failed to download the challenge files from the temporary standalone webserver started by Certbot on port 80. Ensure that the listed domains point to this machine and that it can accept inbound connections from the internet. Some challenges have failed. ``` Let's just assume that it's absolutely necessary Home Assistant is able to deploy its own, managed, Let's Encrypt cert before workarounds are suggested. 😜 I have a hunch this is not working because Pangolin upgrades all requests to HTTPS, so the HTTP challenge, on port 80, fails. But that's just my gut feeling. When I disable SSL for this resource in Pangolin, Let's Encrypt fails with the same error. Any ideas? How can Pangolin resources successfully request their own certificates?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/pangolin#1702