Repository navigation
Jetty
Doug Hagan edited this page Nov 6, 2017
·
15 revisions
Jetty is used as a web server for the MeTL Lift application. When developing locally it is run embedded, but on the AWS instances it hosts deployed WARs.
- Backup the server (snapshot to an AMI).
- Download the Jetty zip (eg
9.4.6.v20170531from Jetty download page).
Jetty runs from /srv/jetty. This is a symlink to /srv/jetty-distribution-9.3.<version>.
- Unzip the Jetty zip to a parallel directory in
/srvfor the new distribution (eg/srv/jetty-distribution-9.4.<version>). Don't update the symlink yet. - Copy from the old jetty dir to the new one:
-
appsholds the WAR as well as the release script for downloading new versions from S3 -
appConfholds the application config -
webAppsholdscontext.xmlthat directs Jetty to the WAR inapps -
etcholds Jetty configuration. Rename the existing (new)etcdirectory toetc-originalfirst.
-
- Create in the new jetty dir:
-
sslis a symlink to../ssl -
tmpholds temporary files.
-
- Copy
etc-original/console-capture.xmltoetc. Remove obsoletejetty-logging.xml. - Copy
etc-original/jetty-webapp.xmltoetc. - Change the ownership of all files recursively with
chown metl:metl -R * - Add to the bottom of
start.ini:
# ------------- Stackable Custom -----------------------
jetty.httpConfig.securePort=443
#jetty.secure.port=443
--module=console-capture
--module=requestlog
--module=ssl
jetty.ssl.port=443
#ssl.port=443
jetty.sslContext.keyStorePath=ssl/metl.jks
jetty.sslContext.keyStorePassword=helpme
jetty.sslContext.keyStoreType=JKS
jetty.sslContext.keyManagerPassword=helpme
jetty.sslContext.trustStorePath=ssl/metl.jks
jetty.sslContext.trustStorePassword=helpme
jetty.sslContext.trustStoreType=helpme
--module=https
--module=setuid
jetty.setuid.userName=metl
jetty.setuid.groupName=metl
# TLS configuration
-Dhttps.protocols="TLSv1,TLSv1.1,TLSv1.2"
-Djdk.tls.client.protocols="TLSv1,TLSv1.1,TLSv1.2"
-Djdk.tls.ephemeralDHKeySize=2048
- Use the new Jetty version:
> /etc/init.d/jetty stop
> rm /srv/jetty
> ln -s /srv/jetty-distribution-9.4.<version> /srv/jetty
> /etc/init.d/jetty start
Reference: Jetty upgrade notes