Skip to content

Commit e13867c

Browse files
Marcus SorensenMarcus Sorensen
authored andcommitted
Support Jetty's live cert reload on HTTPS frontend (apache#7355)
* Support Jetty's live cert reload Signed-off-by: Marcus Sorensen <mls@apple.com> * Update ServerDaemon.java --------- Signed-off-by: Marcus Sorensen <mls@apple.com> Co-authored-by: Marcus Sorensen <mls@apple.com>
1 parent 7eb41a9 commit e13867c

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

client/src/main/java/org/apache/cloudstack/ServerDaemon.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
import org.eclipse.jetty.server.handler.RequestLogHandler;
4646
import org.eclipse.jetty.server.handler.gzip.GzipHandler;
4747
import org.eclipse.jetty.server.session.SessionHandler;
48+
import org.eclipse.jetty.util.ssl.KeyStoreScanner;
4849
import org.eclipse.jetty.util.ssl.SslContextFactory;
4950
import org.eclipse.jetty.util.thread.QueuedThreadPool;
5051
import org.eclipse.jetty.util.thread.ScheduledExecutorScheduler;
@@ -241,6 +242,14 @@ private void createHttpsConnector(final HttpConfiguration httpConfig) {
241242
sslConnector.setPort(httpsPort);
242243
sslConnector.setHost(bindInterface);
243244
server.addConnector(sslConnector);
245+
246+
// add scanner to auto-reload certs
247+
try {
248+
KeyStoreScanner scanner = new KeyStoreScanner(sslContextFactory);
249+
server.addBean(scanner);
250+
} catch (Exception ex) {
251+
LOG.error("failed to set up keystore scanner, manual refresh of certificates will be required", ex);
252+
}
244253
}
245254
}
246255

0 commit comments

Comments
 (0)