Let’s Encrypt certificates for IP addresses
Short answer
Yes: since January 15, 2026, Let’s Encrypt issues publicly trusted certificates for IP addresses, IPv4 and IPv6. They come only with the shortlived profile and last 160 hours, just over six days.
You prove control over HTTP on port 80 or TLS on port 443, never DNS, and your client must support profiles: Certbot 5.4.0 or later (5.3.0 for the standalone or manual plugins), lego 4.22.0 or later, or acme.sh 3.1.2 or later.
What to do: request one from the staging server first, then automate renewal and make sure the server reloads each new certificate.
Expiry Watch checks domain names, not IP addresses. For the certificates on your domains, it emails you when a renewal looks late or expiry gets close. Free, with no account. Watch a domain
What you get
Let’s Encrypt announced general availability on January 15, 2026: “Short-lived and IP address certificates are now generally available.” It had issued its first IP address certificate on July 1, 2025, on a limited basis. The rules:
- Short-lived only. “IP address certificates must be short-lived certificates, a decision we made because IP addresses are more transient than domain names.” They are valid for 160 hours.
- IPv4 and IPv6. “Let’s Encrypt supports both IPv4 and IPv6.”
- HTTP or TLS validation only. “You can’t use the DNS challenge method to prove your control over an IP address; only the http-01 and tls-alpn-01 methods can be used.” That means port 80 or port 443 on that address must answer the CA.
- A client that can choose a profile. Your ACME client “must support the draft ACME Profiles specification, and you must configure it to request the shortlived profile.”
Let’s Encrypt’s profiles page lists the shortlived profile with a validity period of 160 hours, identifier types “DNS, IP”, up to 25 names, and an authorization reuse period of 7 hours. The default classic profile accepts DNS names only.
Request one with Certbot
Certbot added --ip-address in 5.3.0 (February 3, 2026), for the standalone and manual plugins, and webroot support in 5.4.0 (March 10, 2026). The --preferred-profile option dates from 4.0.0. Let’s Encrypt and Certbot’s team give this command, against staging first (Six-Day and IP Address Certificates Available in Certbot):
sudo certbot certonly --staging \
--preferred-profile shortlived \
--webroot \
--webroot-path <filesystem path to webserver root> \
--ip-address <your ip address>
Once it works, run it again without --staging for a trusted certificate. Then:
- Point the server at the files yourself. Certbot can get IP address certificates but not yet install them: “The nginx and apache plugins don’t yet support IP addresses.” Use
/etc/letsencrypt/live/<ip address>/fullchain.pemandprivkey.pem. - Add a deploy hook, so each renewal reloads the server. The same post suggests setting it with
certbot reconfigure; site still shows the old SSL certificate has hooks for nginx, Apache and HAProxy. - Check the timer. A six-day certificate leaves no room for a renewal job that quietly stopped. Is Certbot auto-renewal working? shows how to check it.
Other clients
- lego can request a profile with
--profilesince v4.22.0 (February 17, 2025), and has accepted IP addresses since v4.11.0 (May 2, 2023). - acme.sh added “cert profile and ip cert” support in 3.1.2 (November 29, 2025). Its option is
--cert-profile.
Check your client’s documentation for the exact syntax, and test against staging first.
What you can’t get
- A certificate for a private address. The CA/Browser Forum’s rules forbid it: “CAs SHALL NOT issue Certificates containing Internal Names or Reserved IP Addresses” (Baseline Requirements, section 4.2.2). That includes 10.0.0.0/8, 192.168.0.0/16 and the other ranges in IANA’s special-purpose registries. A test order we sent to Let’s Encrypt’s staging server for
192.168.1.10on October 24, 2026 came back with:
Cannot issue for "192.168.1.10": IP address is in a reserved address block: [RFC1918]: Private-Use
- A longer lifetime. Only the
shortlivedprofile allows IP addresses, so there is no 45- or 90-day option. - DNS validation, or a wildcard. Without DNS-01 there is no way to validate a wildcard, and wildcards are for domain names anyway.
Renewal every few days
Certbot’s rule for short certificates applies: for a lifetime shorter than 10 days, it renews when half the lifetime is left (Certbot User Guide), so about 80 hours into a 160-hour certificate. Its twice-daily timer is frequent enough for that. From Certbot 4.1.0, the CA’s suggested renewal window (ARI) takes precedence when Let’s Encrypt provides one.
The address also has to keep answering validation on port 80 or 443 at every renewal. If the IP address changes, as residential addresses often do, the certificate can’t follow it: you need a new one for the new address.
What they’re for
Let’s Encrypt lists the uses it knows of: a default page for hosting providers when someone types a server’s IP address, sites with no domain name, DNS over HTTPS and other infrastructure services, home devices such as network storage, and short-lived connections between cloud servers. For anything people visit by name, a certificate for the name remains the better fit: names survive moving to new servers, and addresses don’t.
Sources
All sources were checked on October 24, 2026. The staging answer comes from our own test order on that date.
- 6-day and IP Address Certificates are Generally Available, Let’s Encrypt, January 15, 2026.
- We’ve Issued Our First IP Address Certificate, Let’s Encrypt, July 1, 2025: validation methods and uses.
- Six-Day and IP Address Certificates Available in Certbot, Let’s Encrypt, March 11, 2026.
- Profiles, Let’s Encrypt, last updated October 4, 2026: the
shortlivedprofile. - Certbot CHANGELOG: versions 4.0.0, 5.3.0 and 5.4.0; and the Certbot User Guide, Certbot 5.8.0, on when it renews.
- Release notes: lego v4.11.0, lego v4.22.0 and acme.sh 3.1.2.
- Baseline Requirements for the Issuance and Management of Publicly-Trusted TLS Server Certificates, CA/Browser Forum, version 2.3.1, section 4.2.2.