Njalla's default TTL for DNS records is 3600 seconds (1 hour). If you just created or modified the A record, it can take up to that full hour for the change to propagate across the internet, which would perfectly explain why Certbot is connecting to the right IP but failing to fetch the file (the request might be hitting an old IP or a cached null response).
Before changing any more configurations, you should verify what the rest of the internet is actually seeing for your domain right now.
Check the current DNS record
You can usedig to see exactly what IP your domain is resolving to, and importantly, the remaining TTL on that record.
From your local machine (or any computer), run:
dig yourdomain.com +noall +answer
This will output something like:
yourdomain.com. 3412 IN A 203.0.113.45
The second column (3412) is the remaining TTL in seconds. If that number is counting down from 3600, the record is still propagating. If the IP address shown there doesn't match your server's current public IP, the change hasn't taken effect yet for that DNS server.
Check from a different perspective
To ensure it's not just your local ISP or router cache serving an old record, query an external public DNS server directly:
dig yourdomain.com @1.1.1.1 +noall +answer
dig yourdomain.com @8.8.8.8 +noall +answer
If these external servers show the correct IP but Certbot still fails, the DNS is fine, and the problem is somewhere in your network routing or web server config. If they show a wrong IP or no record at all, you simply need to wait for the TTL to expire.