在Jetty服务器上安装SSL证书

阿里云SSL证书服务支持下载证书安装到Jetty服务器,从而使Jetty服务器支持HTTPS安全访问。本文介绍了证书安装的具体操作。

  1. Jetty服务器版本确认。建议使用Jetty 9.2.22及以上版本。
  2. 从阿里云下载tomcat格式的证书。非系统生成的CSR需要生成pfx证书密匙对文件,转换命令如下。
    openssl pkcs12 -export -out 214362464370691.pfx -inkey 214362464370691.key -in 214362464370691.pem
  3. 转换pfx的证书密匙对文件为jks格式,转换命令如下:

    说明 Windows环境注意在%JAVA_HOME%/jdk/bin目录中执行。

    keytool -importkeystore -srckeystore 密匙对文件.pfx -destkeystore 证书名称.jks -srcstoretype PKCS12 -deststoretype JKS

    回车后输入两次要设置的jks格式证书密码,然后输入一次pfx证书密码。三次密码必须输入pfx-password.txt记录的密码。jks密码与pfx证书密码相同,否则可能会导致Jetty服务器启动失败。

  4. 配置Jetty的SSL。
    1. 确保Jetty的http页面可正常访问。
    2. 拷贝证书。进入Jetty服务器目录下的etc,新建存放jks格式证书的目录,并复制jks格式证书至当前目录。
      # pwd
      /opt/jetty9222/etc
      # mkdir cert
      # cd cert/
      # cp ../../../keys/jetty.jks .
      # ls
      jetty.jks

    3. 编辑Jetty服务器目录中的etc中的jetty-ssl.xml文件,设置证书相关参数(密码设置均为pfx-password.txt所记录的密码)。
      <?xml version="1.0"?>
      <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
      <!-- ============================================================= -->
      <!-- Configure a TLS (SSL) Context Factory                         -->
      <!-- This configuration must be used in conjunction with jetty.xml -->
      <!-- and either jetty-https.xml or jetty-spdy.xml (but not both)   -->
      <!-- ============================================================= -->
      <Configure id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory"><Set name="KeyStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.keystore" default="etc/cert/jetty.jks"/></Set><Set name="KeyStorePassword"><Property name="jetty.keystore.password" default="214362464370691"/></Set>
      <?xml version="1.0"?>
      <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
      <!-- ============================================================= -->
      <!-- Configure a TLS (SSL) Context Factory                         -->
      <!-- This configuration must be used in conjunction with jetty.xml -->
      <!-- and either jetty-https.xml or jetty-spdy.xml (but not both)   -->
      <!-- ============================================================= -->
      <Configure id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory"><Set name="KeyStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.keystore" default="etc/cert/jetty.jks"/></Set><Set name="KeyStorePassword"><Property name="jetty.keystore.password" default="214362464370691"/></Set><Set name="KeyManagerPassword"><Property name="jetty.keymanager.password" default="214362464370691"/></Set><Set name="TrustStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.truststore" default="etc/cert/jetty.jks"/></Set><Set name="TrustStorePassword"><Property name="jetty.truststore.password" default="214362464370691"/></Set><Set name="EndpointIdentificationAlgorithm"></Set><Set name="NeedClientAuth"><Property name="jetty.ssl.needClientAuth" default="false"/></Set><Set name="WantClientAuth"><Property name="jetty.ssl.wantClientAuth" default="false"/></Set><Set name="ExcludeCipherSuites"><Array type="String"><Item>SSL_RSA_WITH_DES_CBC_SHA</Item><Item>SSL_DHE_RSA_WITH_DES_CBC_SHA</Item><Item>SSL_DHE_DSS_WITH_DES_CBC_SHA</Item><Item>SSL_RSA_EXPORT_WITH_RC4_40_MD5</Item><Item>SSL_RSA_EXPORT_WITH_DES40_CBC_SHA</Item><Item>SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA</Item><Item>SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</Item></Array></Set><!-- =========================================================== --><!-- Create a TLS specific HttpConfiguration based on the        --><!-- common HttpConfiguration defined in jetty.xml               --><!-- Add a SecureRequestCustomizer to extract certificate and    --><!-- session information                                         --><!-- =========================================================== --><New id="sslHttpConfig" class="org.eclipse.jetty.server.HttpConfiguration"><Arg><Ref refid="httpConfig"/></Arg><Call name="addCustomizer"><Arg><New class="org.eclipse.jetty.server.SecureRequestCustomizer"/></Arg></Call></New>
      </Configure>
    4. 编辑Jetty服务器目录中的etc中的jetty-https.xml文件,配置https所使用的443端口。
      <?xml version="1.0"?>
      <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
      <!-- ============================================================= -->
      <!-- Configure a HTTPS connector.                                  -->
      <!-- This configuration must be used in conjunction with jetty.xml -->
      <!-- and jetty-ssl.xml.                                            -->
      <!-- ============================================================= -->
      <Configure id="Server" class="org.eclipse.jetty.server.Server"><!-- =========================================================== --><!-- Add a HTTPS Connector.                                      --><!-- Configure an o.e.j.server.ServerConnector with connection   --><!-- factories for TLS (aka SSL) and HTTP to provide HTTPS.      --><!-- All accepted TLS connections are wired to a HTTP connection.--><!--                                                             --><!-- Consult the javadoc of o.e.j.server.ServerConnector,        --><!-- o.e.j.server.SslConnectionFactory and                       --><!-- o.e.j.server.HttpConnectionFactory for all configuration    --><!-- that may be set here.                                       --><!-- =========================================================== --><Call id="httpsConnector" name="addConnector"><Arg><New class="org.eclipse.jetty.server.ServerConnector"><Arg name="server"><Ref refid="Server" /></Arg><Arg name="acceptors" type="int"><Property name="ssl.acceptors" default="-1"/></Arg><Arg name="selectors" type="int"><Property name="ssl.selectors" default="-1"/></Arg><Arg name="factories"><Array type="org.eclipse.jetty.server.ConnectionFactory"><Item><New class="org.eclipse.jetty.server.SslConnectionFactory"><Arg name="next">http/1.1</Arg><Arg name="sslContextFactory"><Ref refid="sslContextFactory"/></Arg></New></Item><Item><New class="org.eclipse.jetty.server.HttpConnectionFactory"><Arg name="config"><Ref refid="sslHttpConfig"/></Arg></New></Item></Array></Arg><Set name="host"><Property name="jetty.host" /></Set><Set name="port"><Property name="https.port" default="443" /></Set><Set name="idleTimeout"><Property name="https.timeout" default="30000"/></Set><Set name="soLingerTime"><Property name="https.soLingerTime" default="-1"/></Set><Set name="acceptorPriorityDelta"><Property name="ssl.acceptorPriorityDelta" default="0"/></Set><Set name="selectorPriorityDelta"><Property name="ssl.selectorPriorityDelta" default="0"/></Set><Set name="acceptQueueSize"><Property name="https.acceptQueueSize" default="0"/></Set></New></Arg></Call>
      </Configure>
    5. 编辑Jetty服务器目录中的start.ini文件,按需求更改端口号,并设置启动加载jetty-https.xml,jetty-ssl.xml。
      jetty.port=80
      jetty.dump.stop=
      etc/jetty-ssl.xml
      etc/jetty-https.xml
    6. 重启Jetty,验证https访问是否正常。

安装证书相关文档:

  • 在Tomcat服务器上安装SSL证书
  • 在Apache服务器上安装SSL证书
  • Ubuntu系统Apache 2部署SSL证书
  • 我获取到的数字证书如何配置在自己的Apache中?
  • 在Nginx/Tengine服务器上安装证书
  • 在IIS服务器上安装SSL证书
  • CentOS系统Tomcat 8.5/9部署SSL证书

在Jetty服务器上安装SSL证书相关推荐

  1. 在Apache服务器上安装SSL证书

    在Apache服务器上安装SSL证书 本页目录 前提条件 操作步骤 后续操作 相关文档 阿里云SSL证书服务支持下载证书安装到Apache服务器,从而使Apache服务器支持HTTPS安全访问.本文介 ...

  2. 在IIS服务器上安装SSL证书

    在IIS服务器上安装SSL证书 本页目录 前提条件 操作步骤 相关文档 阿里云SSL证书服务支持下载SSL证书安装到IIS服务器上,从而使IIS服务器支持HTTPS安全访问.本文介绍了证书安装的具体操 ...

  3. 在Nginx/Tengine服务器上安装SSL证书

    在Nginx/Tengine服务器上安装SSL证书 阿里云SSL证书服务支持下载证书安装到Nginx/Tengine服务器上,本文介绍了证书安装的具体操作. 背景信息 本文档以CentOS 7.Ngi ...

  4. 如何在远程桌面网关服务器上安装SSL证书

    远程桌面网关服务器使远程用户可以通过任何网络连接设备连接到内部或专用网络的资源.RD 网关使用 RDP(远程桌面协议)来启用远程用户和内部网络之间的安全连接 (HTTPS).无需配置 VPS 即可启用 ...

  5. 8.0强行转换后变成了7_如何在服务器上安装SSL证书,让你的网站变成https

    本文适合任何人了解,图形化操作.下面以腾讯云为例,并且服务器(linux)也安装了宝塔面板. 1.登陆腾讯云账号进入控制台,找到SSL的产品 2.按要求申请并填写表单,记住私钥密码 3.提交后,待腾讯 ...

  6. centos8的Nginx服务器上安装SSL证书

    1.首先是下载SSL证书或者你自己生成 2.打开配置文件,比如我的是在/etc/nginx/nginx.conf和/etc/nginx/nginx.conf.default #以下属性中,以ssl开头 ...

  7. 在Postfix邮件服务器上部署SSL证书

    在Postfix邮件服务器上部署SSL证书 # 前提条件 # 如何部署 # 配置文件 # 启动SMTPS服务 # 重启Postfix服务器 # 更多信息 Postfix是一款基于sendmail改良而 ...

  8. iis服务器如何安装ssl证书,Microsoft IIS安装SSL证书

    SSL证书是一种文本文件,其中包含加密数据.SSL证书通常是部署在Web服务器中,通过对客户端与站点的数据加密以保护客户的敏感信息. 申请购买SSL证书后,我们会对您的申请材料进行审核验证,验证完成后 ...

  9. 亚洲诚信服务器显示F,在Apache2服务器上部署SSL证书

    Apache2是现有的基于Web服务器,本文详细描述如何在Apache2服务器中部署并使用SSL(Secure Sockets Layer)证书. 前提条件 确保已经获取数字证书.有关获取数字证书方法 ...

最新文章

  1. java判断邮箱名和文件名_Java公开课|想学好Java,教你操作Java校验文件名和邮箱地址,快来看看...
  2. rand()函数100000随机数_利用随机函数Rand、Randbetween制作抽奖器应用技巧解读
  3. 国家特级数学教授李毓佩:我们欠孩子真正的数学阅读 !
  4. HTML音乐播放没声音,网页没有声音但系统显示有声音怎么回事?如何解决?
  5. 苹果平板怎么卸载软件_怎么很好的卸载流氓软件!
  6. 互联网日报 | 理想汽车交付量突破30000辆;美团王慧文正式退休;寺库打造首个奢侈品直播基地...
  7. 【官方速报】Pika3.0正式发布
  8. 一图尽览华为云数据库全套安全解决方案
  9. 剑指offer之Runnable和Callable的区别
  10. vfp报表纸张设置_vfp教程之Visual Foxpro生成任意打印字段报表的实现
  11. AMD在华签约徐静蕾做品牌代言人
  12. 干货!____UI设计中那些创意的图标怎么做
  13. 谈谈在项目过程中的发生争论与争吵
  14. Red Hat Enterprise Linux 7.0 安装方法
  15. Windows 解决端口占用
  16. u盘写入映像时提示:主引导记录(mbr)写入失败!!
  17. msi和exe安装文件有什么区别
  18. POSTGRESQL按拼音排序
  19. 读完本篇文章就会掌握hive over窗口函数的使用附带习题
  20. Android 展开/收回动画效果思路与实现

热门文章

  1. 怎么让IIS支持PHP
  2. 腾讯QQ空间g_tk算法
  3. C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(一)让物体动起来①
  4. WordPress 主题教程 #5:主循环
  5. ubuntu cheat sheet 目录结构
  6. 38动感菜单 38 jQuery And CSS Drop Down Multi Level Menu Solutions
  7. css 布局 两行, 三行等高
  8. 【Tensorflow】更新后报错 numpy.core.umath
  9. 字体图标使用教程 阿里字体图标iconfont 鲸鱼编程
  10. 数组算法 java 115918581