Http-01 challenge failed

Please fill out the fields below so we can help you better. Note: you must provide your domain name to get help. Domain names for issued certificates are all made public in Certificate Transparency logs (e.g. crt.sh | example.com), so withholding your domain name here does not increase secrecy, but only makes it harder for us to provide help.

My domain is: mlpronto.org

I ran this command: certbot -v --apache

It produced this output:

Requesting a certificate for mlpronto.org
Performing the following challenges:
http-01 challenge for mlpronto.org
Waiting for verification...
Challenge failed for domain mlpronto.org
http-01 challenge for mlpronto.org

Certbot failed to authenticate some domains (authenticator: apache). The Certificate Authority reported these problems:
Domain: mlpronto.org
Type: unauthorized
Detail: 2001:4860:4802:34::15: Invalid response from https://cs.wellesley.edu/~btjaden/MLpronto//.well-known/acme-challenge/q3qXOMose0i8hQl2-UmGvWjXHo6y29Sob6vLsMCcGRQ: 404

Hint: The Certificate Authority failed to verify the temporary Apache configuration changes made by Certbot. Ensure that the listed domains point to this Apache server and that it is accessible from the internet.

Cleaning up challenges
Some challenges have failed.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
[

My web server is (include version):

/usr/sbin/httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: Jan 27 2023 17:36:29

The operating system my web server runs on is (include version):

CentOS 7

My hosting provider, if applicable, is: N/A

I can login to a root shell on my machine (yes or no, or I don't know):

yes

I'm using a control panel to manage my site (no, or provide the name and version of the control panel):

no

The version of my client is (e.g. output of certbot --version or certbot-auto --version if you're using Certbot):

certbot 2.2.0

BTW, my reading of your help messages suggests that firewalls are often an issue, but I checked and this server is visible outside the firewall, both to a web browser and to curl:

curl --head http://mlpronto.org/
HTTP/1.1 302 Found
Location: MLpronto
Date: Sun, 05 Feb 2023 17:17:40 GMT
Content-Type: text/html; charset=UTF-8
Server: ghs
Content-Length: 241
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

The logs show a 404 for the challenge:

Detail: 2001:4860:4802:34::15: Invalid response from https://cs.wellesley.edu/~btjaden/MLpronto//.well-known/acme-challenge/q3qXOMose0i8hQl2-UmGvWjXHo6y29Sob6vLsMCcGRQ: 404

Thanks for your help!

Scott

2 Likes

Welcome to the community @scott4

Are you running certbot on the cs.wellesley.edu machine that is running Apache?

If so, can you show result of below. Or, if that's too much info, just show the VirtualHost you think would handle that redirected request for your mlpronto.org domain

sudo apachectl -t -D DUMP_VHOSTS
3 Likes

The redirection contains an extra slash at the end:

curl -Ii http://mlpronto.org/
HTTP/1.1 302 Found
Location: https://cs.wellesley.edu/~btjaden/MLpronto//

mlpronto.org is being hosted by Google.
I think they may be able to provide a cert for it easily.

3 Likes

I believe Apache changes // to just / internally. But, personally I like to avoid such extra bits

3 Likes

Yes, and some folks see that as a directory traversal attempt and block the entire request.
I also:

3 Likes

Yes; I am running the certbot on cs.wellesley.edu. I get a complaint from apachectl -t -D DUMP_VHOSTS command:

apachectl -t -D DUMP_VHOSTS
Passing arguments to httpd using apachectl is no longer supported.
You can only start/stop/restart httpd using this script.
If you want to pass extra arguments to httpd, edit the
/etc/sysconfig/httpd config file.

But the vhost is this:

<VirtualHost *:80>
    ServerName MLpronto.org
    DocumentRoot /home/btjaden/public_html/MLpronto/
#    Redirect permanent / https://MLpronto.org/
</VirtualHost>

I removed the https :443 entry until I have the certificates. Should I put it in?

This vhost is after removing the trailing slash that some responses said was superfluous. I tried certbot again, and got the same result so the trailing slash is not the (main) problem.

I'm confused when you say that mlpronto.org is being hosted by Google. My colleague registered the domain name, but AFAIK, the only place his site is hosted is on cs.wellesley.edu.

Thanks for the followup.

Scott

(this iI will remove the extra

1 Like

Supplemental information

$ curl -Ii http://mlpronto.org/.well-known/acme-challenge/sometestfile
HTTP/1.1 302 Found
Location: https://cs.wellesley.edu/~btjaden/MLpronto//.well-known/acme-challenge/sometestfile
Date: Sun, 05 Feb 2023 19:50:31 GMT
Content-Type: text/html; charset=UTF-8
Server: ghs
Content-Length: 280
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN
$ curl -Ii https://cs.wellesley.edu/~btjaden/MLpronto//.well-known/acme-challenge/sometestfile
HTTP/1.1 404 Not Found
Date: Sun, 05 Feb 2023 19:51:32 GMT
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_auth_gssapi/1.5.1 mod_wsgi/3.4 Python/2.7.5 PHP/7.3.33 mod_perl/2.0.11 Perl/v5.16.3
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
Content-Type: text/html; charset=iso-8859-1

Your DNS for mlpronto.org has IP addresses pointing to google hosting services. You can also see this in the "Server: ghs" response header for the HTTP redirects.

mlpronto.org.           253     IN      AAAA    2001:4860:4802:34::15
mlpronto.org.           253     IN      AAAA    2001:4860:4802:36::15
mlpronto.org.           253     IN      AAAA    2001:4860:4802:32::15
mlpronto.org.           253     IN      AAAA    2001:4860:4802:38::15
mlpronto.org.           250     IN      A       216.239.34.21
mlpronto.org.           250     IN      A       216.239.38.21
mlpronto.org.           250     IN      A       216.239.36.21
mlpronto.org.           250     IN      A       216.239.32.21

Depending how you have Apache configured the redirected requests may not be handled by the VirtualHost you think it is.

You could try changing the DNS to point directly to the wellesley server IP

nslookup cs.wellesley.edu
cs.wellesley.edu        canonical name = tempest.wellesley.edu.
Name:   tempest.wellesley.edu
Address: 149.130.15.5
3 Likes

MikeMcQ got it, as did a network admin I know. The original domain name wasn't set up correctly to point to the server I administer to. Once that was fixed, certbot worked fine. Thanks everyone for helping!

4 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.