I cannot get certbot to work on live. Staging is fine (although staging doesn't even seem to even request the challenge).
My domain is: mail.summit-tech.ca
docker run --rm -it certbot/certbot --version
certbot 1.16.0
I ran this command:
certbot certonly --webroot -w /var/www/certbot \
-email xxx -d mail.summit-tech.ca \
--deploy-hook yyyy \
--rsa-key-size 4096 \
--agree-tos \
--force-renewal -v
It produced this output:
Performing the following challenges:
http-01 challenge for mail.summit-tech.ca
Using the webroot path /var/www/certbot for all unmatched domains.
Waiting for verification...
Challenge failed for domain mail.summit-tech.ca
http-01 challenge for mail.summit-tech.ca
Certbot failed to authenticate some domains (authenticator: webroot). The Certificate Authority reported these problems:
Domain: mail.summit-tech.ca
Type: connection
Detail: Fetching http://mail.summit-tech.ca/.well-known/acme-challenge/HL8O4pLKir3djoxr-9N8S38n3Q3ZE4PsN-_6woehlCo: Timeout during connect (likely firewall problem)
Hint: The Certificate Authority failed to download the temporary challenge files created by Certbot. Ensure that the listed domains serve their content from the provided --webroot-path/-w and that files created there can be downloaded from the internet.
My web server is (include version): nginx/1.15.12
The operating system my web server runs on is (include version): flatcar
Now, if I tcpdump -i any -s0 -A port 80 I see 3 different challenge requests come in:
First, from 18.116.86.117
GET /.well-known/acme-challenge/HL8O4pLKir3djoxr-9N8S38n3Q3ZE4PsN-_6woehlCo
HTTP/1.1 200 OK
Server: nginx/1.15.12
Date: Fri, 09 Jul 2021 19:58:36 GMT
Content-Type: application/octet-stream
Content-Length: 87
Last-Modified: Fri, 09 Jul 2021 19:58:36 GMT
Connection: close
ETag: "60e8aa6c-57"
Accept-Ranges: bytes
[...]
Then, the exact same request + and 200 OK from 18.197.97.115 and 34.221.186.243.
Then, I get a timeout and this in the log, which tells me nothing.
{
"identifier": {
"type": "dns",
"value": "mail.summit-tech.ca"
},
"status": "invalid",
"expires": "2021-07-16T19:58:36Z",
"challenges": [
{
"type": "http-01",
"status": "invalid",
"error": {
"type": "urn:ietf:params:acme:error:connection",
"detail": "Fetching http://mail.summit-tech.ca/.well-known/acme-challenge/HL8O4pLKir3djoxr-9N8S38n3Q3ZE4PsN-_6woehlCo: Timeout during connect (likely firewall problem)",
"status": 400
},
"url": "https://acme-v02.api.letsencrypt.org/acme/chall-v3/14674903853/QUoD0g",
"token": "HL8O4pLKir3djoxr-9N8S38n3Q3ZE4PsN-_6woehlCo",
"validationRecord": [
{
"url": "http://mail.summit-tech.ca/.well-known/acme-challenge/HL8O4pLKir3djoxr-9N8S38n3Q3ZE4PsN-_6woehlCo",
"hostname": "mail.summit-tech.ca",
"port": "80",
"addressesResolved": [
"64.254.226.134"
],
"addressUsed": "64.254.226.134"
}
],
"validated": "2021-07-09T19:58:36Z"
}
]
}
Can I ask, what are outbound IPs of letsencrypt? How many times is the challenge fetched? I'd think after 3 times, it should work. TIA for your help.