[0] https://github.com/lukas2511/letsencrypt.sh [1] https://github.com/silkeh/pdns_api.sh [2] https://github.com/PowerDNS/pdns
The approach to locking we're using is somewhat simplistic (and the specifics depend on the storage adapter you're using), so there might be some rare edge-cases in which 2 requests to Let's Encrypt slip through. However, that shouldn't actually affect the functionality (the last response simply wins). Here's a bit more detail in the code: https://github.com/GUI/lua-resty-auto-ssl/blob/v0.8.2/lib/re...
That almost changed[0], but the current consensus[1] seems to be that you should be using dns-01 for validation behind a load balancer instead.
[0] https://github.com/ietf-wg-acme/acme/pull/138
[1] https://mailarchive.ietf.org/arch/msg/acme/6RSxtvpkcQNPmKs9f...
0 - https://github.com/mholt/caddy/pull/913