Skip to content

Commit 804a65c

Browse files
committed
Merge branch '3.5.x' into 4.0.x
Closes gh-50629
2 parents 85ca245 + 8288b8f commit 804a65c

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

  • documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/features

documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/features/ssl.adoc

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,3 +181,33 @@ A file watcher is then watching the files and if they change, the SSL bundle wil
181181
This in turn triggers a reload in the consuming component, e.g. Tomcat rotates the certificates in the SSL enabled connectors.
182182

183183
You can configure the quiet period (to make sure that there are no more changes) of the file watcher with the configprop:spring.ssl.bundle.watch.file.quiet-period[] property.
184+
185+
[[features.ssl.reloading.lets-encrypt]]
186+
=== Reloading SSL Bundles With Let's Encrypt
187+
188+
If you use certificates issued by https://letsencrypt.org/[Let's Encrypt] and renewed by an external tool, such as https://certbot.eff.org/[Certbot], you can configure a PEM bundle to use the generated files and enable reloading.
189+
Certbot typically stores these in `/etc/letsencrypt/live/` under a directory named after your domain.
190+
The following example shows how to configure a PEM bundle for `example.com`:
191+
192+
[configprops,yaml]
193+
----
194+
spring:
195+
ssl:
196+
bundle:
197+
pem:
198+
webserver:
199+
reload-on-update: true
200+
keystore:
201+
certificate: "file:/etc/letsencrypt/live/example.com/fullchain.pem"
202+
private-key: "file:/etc/letsencrypt/live/example.com/privkey.pem"
203+
server:
204+
ssl:
205+
bundle: "webserver"
206+
----
207+
208+
Spring Boot does not request or renew Let's Encrypt certificates.
209+
When Certbot or another ACME client updates the configured files, the SSL bundle is reloaded.
210+
Compatible consumers, such as Tomcat and Netty web servers, can then use the updated certificate without restarting the application.
211+
212+
The files in `/etc/letsencrypt/live` are typically symbolic links to files in `/etc/letsencrypt/archive`.
213+
The file watcher follows symbolic links so that updates to the target files can trigger a reload.

0 commit comments

Comments
 (0)