VPS参考测评推荐
专注分享VPS主机优惠信息
衡天云优惠活动
华纳云优惠活动

Jetty服务器上如何安装SSL证书?Jetty服务器安装SSL证书的操作步骤

主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情!
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作

阿里云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中记录的所有密码)。

Jetty服务器上如何安装SSL证书?Jetty服务器安装SSL证书的操作步骤-主机参考

 <?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端口。

Jetty服务器上如何安装SSL证书?Jetty服务器安装SSL证书的操作步骤-主机参考

 <?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访问是否正常。验证

 

 

这几篇文章你可能也喜欢:

本文由主机参考刊发,转载请注明:Jetty服务器上如何安装SSL证书?Jetty服务器安装SSL证书的操作步骤 https://zhujicankao.com/68493.html

【腾讯云】领8888元采购礼包,抢爆款云服务器 每月 9元起,个人开发者加享折上折!
打赏
转载请注明原文链接:主机参考 » Jetty服务器上如何安装SSL证书?Jetty服务器安装SSL证书的操作步骤
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!请查阅:特别声明

评论 抢沙发

评论前必须登录!