您现在的位置是:数据库 >>正文
一篇教会你用Jetty配置Https
数据库29人已围观
简介由于工作需要,需要测试Jetty配置HTTPS的解析情况,本篇记录下Jetty下的HTTPS的配置。一、简单介绍1.1 Jetty介绍Jetty 是一个Servlet引擎,是一个可扩展和非常灵活的应用 ...
由于工作需要 ,篇教y配需要测试Jetty配置HTTPS的篇教y配解析情况,本篇记录下Jetty下的篇教y配HTTPS的配置 。
一 、篇教y配简单介绍
1.1 Jetty介绍Jetty 是篇教y配一个Servlet引擎,是篇教y配一个可扩展和非常灵活的应用服务。它有一个基本数据模型,篇教y配这个数据模型就是篇教y配 Handler(处理器),亿华云所有可以被扩展的篇教y配组件都可以作为一个 Handler ,添加到 Server 中 ,篇教y配Jetty 就是篇教y配帮你管理这些 Handler。 下图是篇教y配 Jetty 的基本架构图,整个 Jetty 的篇教y配核心组件由 Server 和 Connector 两个组件构成,整个 Server 组件是篇教y配基于 Handler 容器工作的,它类似与 Tomcat 的源码下载篇教y配 Container 容器。 Connector 用于负责接受客户端的连接请求 ,并将请求分配给一个处理队列去处理。

Jetty的架构简单 ,可以按需加载组件 ,减少不需要的组件,减少服务器内存开销 。
Jetty 采用异步的Servlet ,可以同时处理大量连接 ,且长时间保持连接状态 。服务器租用
Jetty 采用NIO在处理I/O请求更占优势,处理静态资源性能更好。
Jetty 嵌入到应用中,使一个普通应用快速支持http服务。
二、Jetty 配置和使用
Jetty最新版本为:
jetty-distribution-9.4.29.v20200521.tar.gz ,和以前版本使用方法稍微有所不同。
2.1 添加默认启动模块默认情况下,https和日志模块都没有开启,运行jetty连个日志都没有,实在是不合理 。
复制#添加日志模块
java -jar start.jar --add-to-start=console-capture
#添加https 模块
java -jar start.jar --add-to-start=https
# https模块要依赖ssl模块
java -jar start.jar --add-to-start=ssl1.2.3.4.5.6.以上命令在jetty_home目录运行 ,更改start.ini配置文件。模板下载
复制## Connector host/address to bind to
jetty.ssl.host=0.0.0.0
## Connector port to listen on
jetty.ssl.port=7443
jetty.sslContext.keyStorePath=etc/keystore
jetty.sslContext.trustStorePath=etc/keystore1.2.3.4.5.6.7. 2.2 启动命令前台启动:
复制java -jar start.jar1.后台启动命令:
复制./bin/jetty.sh start1.报错信息如下:
复制2020-05-25 14:35:52.228:WARN:oejx.XmlConfiguration:main:
java.security.PrivilegedActionException: java.io.IOException: Is a directory
at java.security.AccessController.doPrivileged(Native Method)1.2.3.配置的key文件错误 ,使用keystore文件试试 ,转换方法如下 :
2.3 pem文件转keystorejetty 使用的是keystore文件,需要进行转换,转命令:
复制#需要输入密码 假设输入123456
openssl pkcs12 -export -in server-cert.pem -inkey server-key.pem -out out.pk12
#转成keystore文件
keytool -importkeystore -deststorepass 123456 -destkeypass 123456 -destkeystore sh.keystore -srckeystore out.pk12 -srcstoretype PKCS12 -srcstorepass 123456 1.2.3.4.转换密码:
复制java -cp lib/jetty-util-9.4.29.v20200521.jar org.eclipse.jetty.util.security.Password 123456
2020-05-25 15:06:01.084:INFO::main: Logging initialized @114ms to org.eclipse.jetty.util.log.StdErrLog
123456
OBF:19iy19j019j219j419j619j8
MD5:e10adc3949ba59abbe56e057f20f883e1.2.3.4.5.配置更改start.ini文件 :
复制## Keystore file path (relative to $jetty.base)
jetty.sslContext.keyStorePath=etc/keystore/sh.keystore
## Truststore file path (relative to $jetty.base)
jetty.sslContext.trustStorePath=etc/keystore/sh.keystore
## Keystore password
jetty.sslContext.keyStorePassword=OBF:19iy19j019j219j419j619j81.2.3.4.5.6.配置后继续报错:
复制2020-05-25 15:12:39.532:INFO:oejus.SslContextFactory:main: x509=X509@1786dec2(1,h=[192.168.63.1],w=[]) for Server@6acdbdf5[provider=null,keyStore=file:///home/miaohq/soft/jetty/etc/keystore/sh.keystore,trustStore=file:///home/miaohq/soft/jetty/etc/keystore/sh.keystore]
2020-05-25 15:12:39.573:WARN:oejx.XmlConfiguration:main:
java.security.PrivilegedActionException: java.security.UnrecoverableKeyException: Cannot recover key1.2.3.到这里面才发现是不是密钥套件没配置,所以提取不了key?所以下面配置下 。
三、配置https和ssl配置
3.1 配置jetty-ssl-context.xml修改复制
添加服务到系统 :
复制cp bin/jetty.sh /etc/init.d/jetty
#jetty的安装目录
echo JETTY_HOME=`pwd` > /etc/default/jetty
#jetty的源码库web目录
echo "JETTY_BASE=/opt/jetty-base" >> /etc/default/jetty1.2.3.4.5.启动命令 :
复制service jetty start1.###3.4 配置Tls版本和支持密钥套件 更改jetty-ssl-context.xml 目前这个里面RSA的套件都不支持了:( 。
复制
目前我是在jetty的目录下直接启动的,其实不是太合适,正规点,是需要自己指定个目录,然后jetty_base指向这个目录。
Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“信息技术视野”。http://www.bziz.cn/html/023e299974.html
相关文章
StripedFly 恶意软件框架感染 100 万台 Windows 和 Linux 主机
数据库一个名为 StripedFly 的跨平台恶意软件在网络安全研究人员的眼皮底下潜伏了 5 年,期间感染了 100 多万台 Windows 和 Linux 系统。卡巴斯基去年发现了这个恶意框架,并找到了它 ...
【数据库】
阅读更多iPhone7录像防抖性能分析(探究iPhone7在录像时的防抖表现及其关键技术)
数据库随着智能手机的普及和摄影技术的不断发展,越来越多的人喜欢使用手机进行录像。然而,由于手持录像容易出现抖动,给观看者带来不好的观感。手机厂商纷纷在摄影技术上下功夫,其中,iPhone7作为苹果公司最新一 ...
【数据库】
阅读更多CentOS 8/6 Linux 生命终结,2022 年优秀的替代方案是什么?
数据库前言Red Hat 最近宣布,CentOS 8 Linux将不再支持并在 2021 年底停止使用。取而代之的是滚动版本 CentOS Stream 作为 RHEL 的下游分支于 ...
【数据库】
阅读更多
热门文章
最新文章
友情链接
- 2024年度威胁报告:网络安全设备成黑客首选突破口
- ChatGPT API漏洞可能导致DDoS和注入攻击
- 微软可信签名服务遭滥用,恶意软件借机获得合法签名
- 警惕!利用AI深度伪造视频的新型“自骗”攻击浪潮来袭
- LiteSpeed 缓存插件漏洞正对 WordPress 网站构成重大风险
- 黑客利用YouTube 平台传播复杂的恶意软件
- 打补丁要快!0Day漏洞正在被黑客广泛利用
- 九个存在九年的 npm 软件包遭劫持 通过混淆脚本窃取 API 密钥
- 盘点2024年生成式AI带来的五大新型安全威胁
- 新型越狱攻击可突破 ChatGPT、DeepSeek 等主流AI服务防护 b2b信息平台网站建设企业服务器云服务器香港物理机亿华云源码库