I suspect my problem lies in my defences against web scrapers, unfortunately. Is there a specific user agent, IP address range or ASN I could put on an allow-list? Looking at the error message in my Apache error.log below, can I tell whether the bot is being blocked by the firewall (unable to connect) or whether it was getting through to Apache and what status code it saw? In my case I'd be interested in knowing if it sees a 410 GONE, for example, since I respond to a lot of requests by bots using that.
My domain is:
search.transjovian.org
This is a new subdomain. The setup for transjovian.org without search.transjovian.org worked.
I ran this command:
I'm using mod_md
At the top of the site conf file:
MDomain transjovian.org search.transjovian.org
MDCertificateAgreement accepted
The site configuration itself, where I exempt /.well-known and I created a file /home/xobaque/public/.well-known/test which I was able to fetch using curl (getting a 200 OK response). So I know that /.well-known/ isn't proxied.
<VirtualHost *:80>
ServerName search.transjovian.org
Include conf-enabled/blocklist.conf
DocumentRoot /home/xobaque/public
# xobaque
ProxyPass "/.well-known" !
ProxyPass "/" "unix:/run/xobaque/xobaque.sock|http://localhost/"
DocumentRoot /home/xobaque/public
<Directory /home/xobaque/public>
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:443>
ServerAdmin alex@alexschroeder.ch
ServerName search.transjovian.org
SSLEngine on
Include conf-enabled/blocklist.conf
# xobaque
ProxyPass "/.well-known" !
ProxyPass "/" "unix:/run/xobaque/xobaque.sock|http://localhost/"
DocumentRoot /home/xobaque/public
<Directory /home/xobaque/public>
Require all granted
</Directory>
</VirtualHost>
It produced this output:
In the Apache error log:
[Sat Aug 16 13:41:21.587145 2025] [md:error] [pid 178047:tid 178048] ACME server authz: challenge 'invalid' for search.transjovian.org at https://acme-v02.api.letsencrypt.org/acme/authz/825400867/569744845157. Exact response was: {"identifier":{"type":"dns","value":"search.transjovian.org"},"status":"invalid","expires":"2025-08-23T11:41:19Z","challenges":[{"type":"http-01","url":"https://acme-v02.api.letsencrypt.org/acme/chall/825400867/569744845157/Q8HC1g","status":"invalid","validated":"2025-08-16T11:41:19Z","error":{"type":"urn:ietf:params:acme:error:connection","detail":"During secondary validation: 178.209.50.237: Fetching http://search.transjovian.org/.well-known/acme-challenge/O6eEWsTQ2qdNJzyb6r4CwOJDUaDo-b9A780Hk3F_elo: Connection refused","status":400},"token":"O6eEWsTQ2qdNJzyb6r4CwOJDUaDo-b9A780Hk3F_elo","validationRecord":[{"url":"http://search.transjovian.org/.well-known/acme-challenge/O6eEWsTQ2qdNJzyb6r4CwOJDUaDo-b9A780Hk3F_elo","hostname":"search.transjovian.org","port":"80","addressesResolved":["178.209.50.237","2a02:418:6a04:178:209:50:237:1"],"addressUsed":"2a02:418:6a04:178:209:50:237:1"}]}]}
[Sat Aug 16 13:41:21.588664 2025] [md:error] [pid 178047:tid 178048] (22)Invalid argument: md[transjovian.org] while[Monitoring challenge status for transjovian.org] detail[domain authorization for search.transjovian.org failed, CA considers answer to challenge invalid.]
[Sat Aug 16 13:41:21.596441 2025] [md:error] [pid 178047:tid 178048] (22)Invalid argument: AH10056: processing transjovian.org: Error waiting on domain names to be validated
My web server is (include version):
http://localhost/server-status reports:
Apache/2.4.65 (Debian) OpenSSL/3.5.1
This is Apache from Debian 13 (Trixie).
The operating system my web server runs on is (include version):
uname -a reports:
Linux sibirocobombus 6.12.38+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.38-1 (2025-07-16) x86_64 GNU/Linux
My hosting provider, if applicable, is:
edis.at
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):
I don't know how to determine the version of mod_md that ships with Apache but I guess it's not relevant.