Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Jetty/Howto/Secure Termination
Introduction
You can start Jetty in such a way as to require identification before a termination request is accepted. This can help safeguard against either accidental or malicious terminations.
Steps
This involves starting jetty with a *STOP.PORT* parameter:
java -DSTOP.PORT=8079 -jar start.jar
The *STOP.PORT* is the number of a port on which Jetty will listen for termination requests. In this case, the port number is 8079. You can then stop jetty either with a Template:Cntrl-c in the controlling terminal window (unless you have disassociated the Jetty process from a terminal), or by supplying this port number on a stop request from any terminal.
You can also supply a secret key on startup which must also be present on the termination request to enhance security:
java -DSTOP.PORT=8079 -DSTOP.KEY=mysecret -jar start.jar
As a further security measure, you can omit the *STOP.KEY* property on startup, in which case Jetty will generate and print on stdout a random key:
> java -DSTOP.PORT=8079 -jar start.jar -DSTOP.KEY=3xspihnnsse8
This key should then be supplied on the termination request:
java -DSTOP.PORT=8079 -DSTOP.KEY=3xspihnnsse8 -jar start.jar --stop