本文共 4122 字,大约阅读时间需要 13 分钟。
$ java -jar $JETTY_HOME/start.jar --create-startdMKDIR : ${jetty.base}\start.dINFO : Base directory was modified
$ java -jar $JETTY_HOME/start.jar --add-to-start=deploy,ssl,httpsINFO : webapp transitively enabled, ini template available with --add-to-start=webappINFO : server transitively enabled, ini template available with --add-to-start=serverINFO : security transitively enabledINFO : servlet transitively enabledINFO : https initialized in ${jetty.base}\start.d\https.iniINFO : threadpool transitively enabled, ini template available with --add-to-start=threadpoolINFO : ssl initialized in ${jetty.base}\start.d\ssl.iniINFO : bytebufferpool transitively enabled, ini template available with --add-to-start=bytebufferpoolINFO : deploy initialized in ${jetty.base}\start.d\deploy.iniMKDIR : ${jetty.base}\etcCOPY : ${jetty.home}\modules\ssl\keystore to ${jetty.base}\etc\keystoreMKDIR : ${jetty.base}\webappsINFO : Base directory was modified
## Connector port to listen onjetty.ssl.port=443
在 “webapps” 目录中部署一个简单的应用。在 “webapps” 目录中新建一个 “root” 目录,并在 “root” 目录中新建一个文件为 “index.html”,文件 “index.html” 的内容为 “<h2>hello, world</h2>”。这个简单的应用完全是为了用于测试,这个应用的访问路径为 root 路径即 “/”。(以上步骤,如果不清楚可以参考 Jetty 文档,即 )
至此,Jetty 服务器部分已经 初步完成配置。接下来,需要获取 ssl 证书并配置 Jetty 的 ssl 模块选项。
获取 ssl 证书。我使用的是阿里云的免费证书。因为我有在阿里云注册域名,所以直接在选定的域名(我拥有的域名例如为 “”)下申请免费证书,然后等待审核,如果审核通过,几分钟后就可以拿到证书。
紧接着上一步,下载用于 tomcat 服务器的 ssl 证书,这是一个 .zip 文件,解压后得到两个文件即 “pfx-password.txt” 文件和 example.pfx 文件,“pfx-password.txt” 文件中的密码字符串为: “abcdefgh”,在解压后的证书目录下执行如下命令,将 pfx 证书转换为 jks 格式。命令执行过程中会要求输入 3 次密码,3 次都输入 “pfx-password.txt” 文件中的密码字符串即 “abcdefgh” 即可,最后生成文件 “example.jks”,并将该文件复制到 jetty_base 的 etc 目录下,用于接下来配置 ssl。
keytool -importkeystore -srckeystore example.pfx -destkeystore example.jks -srcstoretype PKCS12 -deststoretype JKS
$ ls -lRH.:total 0drwxrwx---+ 1 jokee None 0 Jul 25 23:23 etcdrwxrwx---+ 1 jokee None 0 Jul 25 22:39 start.ddrwxrwx---+ 1 jokee None 0 Jul 25 22:52 webapps./etc:total 8-rwxrwx---+ 1 jokee None 3999 Jul 25 23:21 example.jks-rwxrwx---+ 1 jokee None 3697 Apr 29 16:16 keystore./start.d:total 6-rwxrwx---+ 1 jokee None 655 Jul 25 22:39 deploy.ini-rwxrwx---+ 1 jokee None 182 Jul 25 22:39 https.ini-rwxrwx---+ 1 jokee None 3310 Jul 25 22:56 ssl.ini./webapps:total 0drwxrwx---+ 1 jokee None 0 Jul 25 22:52 root./webapps/root:total 1-rwxrwx---+ 1 jokee None 21 Jul 25 22:52 index.html
## Keystore file path (relative to $jetty.base)## 最后生成的 jks 格式的证书文件的路径jetty.sslContext.keyStorePath=etc/example.jks## Truststore file path (relative to $jetty.base)## 最后生成的 jks 格式的证书文件的路径jetty.sslContext.trustStorePath=etc/example.jks## Keystore password## 输入 “pfx-password.txt” 文件中的密码字符串即 “abcdefgh” jetty.sslContext.keyStorePassword=abcdefgh## Keystore type and provider# jetty.sslContext.keyStoreType=JKS# jetty.sslContext.keyStoreProvider=## KeyManager password## 输入 “pfx-password.txt” 文件中的密码字符串即 “abcdefgh” jetty.sslContext.keyManagerPassword=abcdefgh## Truststore password## 输入 “pfx-password.txt” 文件中的密码字符串即 “abcdefgh” jetty.sslContext.trustStorePassword=abcdefgh
127.0.0.1 www.example.com127.0.0.1 example.com
$ java -jar $JETTY_HOME/start.jar2019-07-25 23:38:00.650:INFO::main: Logging initialized @1382ms to org.eclipse.jetty.util.log.StdErrLog...2019-07-25 23:38:02.026:INFO:oejs.Server:main: Started @2753ms
转载地址:http://rjlsi.baihongyu.com/