How to create a Let’s Encrypt self signed certificate for a subdomain?
To be specific:
sub.domain.com (needs a certificate and points to an ip address)
domain.com (does not point to anything)
When following the following instructions, I get the following errors:
>>> sudo -H ./letsencrypt-auto certonly --standalone -d sub.domain.com --register-unsafely-without-email
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Obtaining a new certificate
Performing the following challenges:
tls-sni-01 challenge for sub.domain.com
Waiting for verification...
Cleaning up challenges
Failed authorization procedure. sub.domain.com (tls-sni-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Timeout
- The following errors were reported by the server:
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.
let’s encrypt can only issues certificates for valid registered domains
this is because it needs to validate domain ownership which can only be done with valid domains
you can create your own self signed certificates using openssl (google how to ) or you can use online tools such as: https://zerossl.com/free-ssl/#self
Thank you for the link! Can the top domain be validated with one IP address and then the IP addressed changed?
Let’s Encrypt will resolve the IPs when the challenge is submitted
So changing an IP for a domain (as long as a domain is a valid internet domain) is not an issue
Let’s Encrypt cannot issue certificates for IP addresses or .local domains (and other domains such as .onion)
You are using the standalone command so need to meet the criteria to pass the HTTP or TLS-SNI challenge.
A list of plugins and the challenge types they support is here:
For example: my domain (firecube.xyz)
www.firecube.xyz - certificate is obtainable using TLS-SNI and HTTP challenge (valid DNS entry and IP)
firecube.xyz - certificate is obtainable using TLS-SNI and HTTP challenge (valid DNS entry and IP)
220.127.116.11 - certificate is not obtainable as it’s an IP
firecube.local - certificate is not obtainable (.local domain)
try.firecube.xyz - certificate is not obtainable using TLS-SNI and HTTP (no DNS entry so let’s encrypt doesn’t know what web server to go to validate the domain)
You can simplify issuing of certificates if IPs have not been set up by using the DNS challenge which only requires DNS records to be added.
So using the DNS challenge I can obtain certificates for all HTTP and TLS-SNI domain and the try.firecube.xyz domain (as to prove ownership i only need to add a valid DNS record. No web-servers or IP addresses are involved).
More info: https://letsencrypt.org/how-it-works/
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.