Let's Encrypt: HTTPS for IP Addresses with FrankenPHP (2026)

In the ever-evolving world of web security and hosting, a recent development has sparked an intriguing conversation. The ability to implement HTTPS on an IP address using Let's Encrypt and FrankenPHP is a game-changer for self-hosters and teams alike. This breakthrough, announced by Jay Rogers of Server Side Up, offers a solution to a common challenge: securing connections without relying on DNS.

The Problem and Its Impact

For self-hosters and teams, the issue of securing a server or application before a hostname is decided upon has been a hurdle. Traditionally, this meant dealing with self-signed certificates and browser warnings, or setting up a reverse proxy, both of which are less than ideal. However, Let's Encrypt's recent move to make 6-day certificates and IP-address certificates generally available has opened up new possibilities.

The Solution: Let's Encrypt and FrankenPHP

By utilizing Let's Encrypt's short-lived certificate profile and FrankenPHP's embedded Caddy, a self-hoster can now serve real HTTPS without the need for a DNS entry. This is a significant advancement, especially for those who want to secure their connections early in the development or testing phase.

Understanding the Short-Lived Profile

The short-lived profile, as implemented by Caddy, requests certificates valid for 160 hours, which is just under seven days. This profile falls under the CA/Browser Forum's definition of a Short-Lived Subscriber Certificate, which means it doesn't require revocation information. This is a key advantage, as it simplifies the process and reduces the need for constant monitoring and renewal.

Configuration and Implementation

To enable this feature, one must set the CADDYACMEPROFILE environment variable to 'shortlived'. This, in turn, writes a small Caddyfile snippet into the config, specifying the profile and enabling automatic HTTPS. It's important to note that this feature is currently in beta, so it's recommended to pin the image to the beta version for testing.

Deeper Implications and Considerations

One interesting aspect is the potential impact of this setup on certificate renewal. With a short-lived certificate, the margin for error is reduced. If a container loses outbound access to Let's Encrypt's ACME API, the certificate will expire within days, not months as with longer-lived certificates. This could lead to unexpected downtime if not monitored closely.

A Step Towards Simpler Security

In my opinion, this development is a step towards making web security more accessible and less complex. By removing the need for immediate DNS entries, self-hosters and teams can focus on development and testing without compromising on security. It's an exciting advancement that showcases the power of innovative thinking in the tech community.

Conclusion: A New Era of Secure Hosting

With Let's Encrypt and FrankenPHP, we're witnessing a new era of secure hosting. This breakthrough not only simplifies the process of securing connections but also empowers developers and self-hosters to focus on their core tasks. It's a prime example of how small changes can have a significant impact on the way we approach web security.

Let's Encrypt: HTTPS for IP Addresses with FrankenPHP (2026)
Top Articles
Latest Posts
Recommended Articles
Article information

Author: Prof. An Powlowski

Last Updated:

Views: 6619

Rating: 4.3 / 5 (44 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Prof. An Powlowski

Birthday: 1992-09-29

Address: Apt. 994 8891 Orval Hill, Brittnyburgh, AZ 41023-0398

Phone: +26417467956738

Job: District Marketing Strategist

Hobby: Embroidery, Bodybuilding, Motor sports, Amateur radio, Wood carving, Whittling, Air sports

Introduction: My name is Prof. An Powlowski, I am a charming, helpful, attractive, good, graceful, thoughtful, vast person who loves writing and wants to share my knowledge and understanding with you.