Please forgive my ignorance if this has been asked already. I’m a noob and am need some help.
I have a web server with an internal IP address that’s NAT’d at the router, I am using Dnydns since I don’t have a static IP. All works well there, I am setting up a mail server running VMware off of my server, giving it a different internal IP, again all good. My problem is when trying to get a cert I get the error below.
To fix these errors, please make sure that your domain name was
entered correctly and the DNS A/AAAA record(s) for that domain
contain(s) the right IP address. Additionally, please check that
your computer has a publicly routable IP address and that no
firewalls are preventing the server from communicating with the
client. If you’re using the webroot plugin, you should also verify
that you are serving files from the webroot path you provided.
My web server is (include version): I’m running my web server on Mac OS 10.14.5
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):
Visible Content: Not Found The requested URL /.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de was not found on this server.
Looks like you don't have defined an own port 80 vHost. So the standard port 80 vHost is used. There is a redirect to your main domain. But there isn't the validation file /.well-known/acme-challenge/random-filename.
So copy your existing vHost definition, change the ServerName and remove the redirect http -> https.
On my mail.abovethegaragestudio server, i have Port 80 open,
You mentioned something about a redirect – can you explain? If i try to understand, i think you are saying on my web server i should have a /.well-known/acme-challenge/random-filename?
Output
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for mail.abovethegaragestudio.com
Using the webroot path /var/www/html for all unmatched domains.
Waiting for verification…
Cleaning up challenges
Failed authorization procedure. mail.abovethegaragestudio.com (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from https://abovethegaragestudio.com/.well-known/acme-challenge/CtxM3Y_pLtRjoCRNWZ_jKs11AJTQ8CyxDChkJWjVB8Q [67.41.44.139]: “\n\n404 Not Found\n\n
What you have:
1 IP address
1 computer (real or virtual) with Apache
1 computer (real or virtual) with a ‘mail server’. Does this mean something you connect to with smtp, on port 25, to accept mails from the Internet ? Well, you created a MX record for the domain mail.abovethegaragestudio.com that points to the server abovethegaragestudio.com, so I guess the answer is yes.
This does not seem very logical to me. There is no need for a specific ‘mail server’ at the Internet level, since all you are doing is redirecting ports on your Internet router.
You could have a domain abovethegaragestudio.com with 2 A records (abovegaragestudio.com and www.abovethegaragestudio.com), and a MX record = abovegaragestudio.com.
It would all appear as a single server on the Internet, but at the router level you would have a redirection to the port 25 of your mail computer and to the 80 and 443 ports of the Apache computer.
In this case you don’t need anything like a mail.abovethegaragestudio.com on your certificate.
On the other hand, if you need Web access from the Internet to your mail computer (if it’s say, an Exchange server) you would need indeed an Internet mail server appearing with a different name, but you would need also to setup things differently since a simple redirection would not work, a http proxy would be necessary.
If for some mysterious reason you still want a mail.abovethegaragestudio.com yet only need the port 25 on your internal mail server, it’s possible but you have to manage the transfert of the certificate yourself, using a post hook. The one and only web server you have in this case, the Apache server, would have to get the 2 certificates while pretending to be the mail server, and it would be transferred by some copy (sftp or anything like that) to the internal mail server, that can’t get the certificate itself since it don’t answer to port 80 on the Internet (you are redirecting the port 80 from your router to the Apache server)
Hope I am not confusing you further
Thank you for the feedback, I really don’t need mail at the internet level. So I will try the first suggestion in your email.
Questions:
What is the purpose of having to A records as listed in your email? Wouldn’t a cname work the same for www.abovethegaragestudio.com and still have the MX record = abovethegaragestudio.com and route port 25 to the internal mail server?
For my web server abovethegaragestudio.com I have a certificate from SSL, is this going to work with the above?
Yes, of course CNAME record is the preferred way to setup a www. It’s just that you don’t have a lot of records really so updates are hardly a burden.
MX record should point to A record, in this case abovethegaragestudio.com.