I have a infrastructure where I host some site from cliente into a LoadBalancer Cluster.
This Load Balance has 2 servers, Server A and Server B and the Load Balance is from Cloudflare Load Balance.
When I try to generate new SSL Certo from letsencrypt, from Server A, may I recive error becauthe the API return from Load Balance and find the Server B.
When the API Returns from Server A, the cert was created.
How May I force the call back from Server A, every whe I try to create a new Cert?
repackaging the suggestion above with some details and other options:
ProxyPass all traffic on /.well-known/acme-challenge to a single server. This an be another machine. (Requests on A and B are always served on A or C)
HTTP Redirect all traffic on /.well-known/acme-challenge to a single server. This can be another machine or domain. (Requests for A and B are always served on A or C)
DNS-01 Challenge
Unless you need Publicly Trusted LE Certs as a fallback, CloudFlare offers their own Certs to secure traffic between your servers and their networks. They have 15+ year expiries (vs 90 days)
Theres a problem.
Load Balance from Cloud flare is Domain based.
Some clients dont use Cloud Flare, if I tray point a CNAME to From another Nameserver from outside to Cloudflare they return Proibited trafic.
I need an idea to do It without the Clodflare LoadBalance Rules (Proxy off)...
Did has you done this?
I have some dificult to found the route from where the callback come.
This is a http on the port 80? or the callback comes direct from TCP to acme API?
With the HTTP-01 challenge, the LetsEncrypt API just needs to connect to your server(s) on Port 80 to prove ownership. The LetsEncrypt server will follow HTTP redirects (e.g. HTTP-301) on the domain your want a certificate for - so you can configure your A and B servers to redirect all traffic under /.well-known/acme-challenge/ to the same path on another domain, like example.com/.well-known/acme-challenge/foo.
LetsEncrypt has no idea about - and doesn't care about - your internal systems. You can configure servers A and B to proxypass the .well-known/acme-challenge directory to another system as well. I prefer that method myself. Under NGINX, the proxypass would simply be:
To make this even easier with Certbot, you can use the --http-01-port flag. That will let you run Certbot in a standalone server mode on an alternate port -- such as 8080. LetsEncrypt will not validate a domain on 8080, but in a proxypass situation it only sees and cares about the challenge being served on port 80.
So your setup for example.com could be:
Server A: proxypass challenges to foo.example.com:8080
Server B: proxypass challenges to foo.example.com:8080
Then either machine, or another one, host foo.example.com run Certbot on port 8080, to answer the challenges for example.com
I believe you can also 301 redirect to another port as well, but I've never had to do that so am unsure.
We don´t found information about finish the process.
Just find how create one cert manually, but the documentation dont expouse whats to do when the response is any exception...
Theres any documentation to automatize the DNS process?
Or, any documentation to solve the full process?
Because, when we are trying to create, in few times the API reject our request with rate-limit.
Firstly, you should do all your testing on the LE staging environment (not LE production environment).
[limits are much higher and you can get to a working solution quicker]
Also, see if there is any way to test the API (add/remove DNS records) independent of any ACME client.
Now to the rest...
What exceptions/errors are you seeing?
There in no single version of DNS implementation (guide).
It depends on the specific DNS Service Provider (DSP) and ACME client used.
Where the ACME client must have a DNS plugin that supports that DSP.
[Otherwise, you must run through the DNS challenge process manually. (not recommended)]