`
zhangyi0618
  • 浏览: 64440 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

TOMCAT配置HTTPS和SSL并HTTP请求强转为HTTPS请求

 
阅读更多

1、生成keystore文件

keytool -v -genkey -alias tomcat -keyalg RSA -keystore /home/test/my.keystore

在生成keystore的过程中,要输入一些站点信息和密码,并要求再次核对密码

 

2、编辑tomcat/conf/server.xml
找到对应的connector,取消注释,并且写入keystore文件路径和密码

1
2
3
4
5
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/home/test/my.keystore"
keystorePass="123456"/>

3、强制HTTP转HTTPS 对工程的web.xml进行修改,加入:

1
2
3
4
5
6
7
8
9
<security-constraint>
<web-resource-collection>
<web-resource-name>OPENSSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

4、禁用不安全的http方法 在tomcat/conf/web.xml最后加上一个节点

1
2
3
4
5
6
7
8
9
10
11
<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
<http-method>PUT</http-method>
<http-method>DELETE</http-method>
<http-method>HEAD</http-method>
<http-method>OPTIONS</http-method>
<http-method>TRACE</http-method>
</web-resource-collection>
<auth-constraint></auth-constraint>
</security-constraint>

 

注:经测试第3和第4可合并为:

<security-constraint>

   <!-- Authorization setting for SSL -->

<web-resource-collection>

<web-resource-name>OPENSSL</web-resource-name>

<url-pattern>/*</url-pattern>

 

<!--禁用HTTP的不安全方法-->

<url-pattern>/*</url-pattern>

<http-method>PUT</http-method>

<http-method>DELETE</http-method>

<http-method>HEAD</http-method>

<http-method>OPTIONS</http-method>

<http-method>TRACE</http-method>

</web-resource-collection>

<auth-constraint></auth-constraint>

<user-data-constraint>

<transport-guarantee>CONFIDENTIAL</transport-guarantee>

</user-data-constraint>

</security-constraint>

 

 

---------------------------------------------------------------------------------------

https如何进行加密传输

 

客户端是没有证书的,也就没有公钥和私钥。
SSL握手阶段,服务器把证书传输给客户端,同时也就传输了公钥(公钥是证书的一部分)。
由客户端来对这个证书进行有效性认可,再由这个客户端来生成对称密钥。
对称密钥用服务器证书中的公钥加密后,传回给服务器。只有服务器才能解密这个信息,也就只有服务器才知道你的对称密钥。
只要这个SSL连接没有关闭,后续的所有数据,无论是客户端发出的还是服务器发出的,均会使用这个对称密钥加密。
对称加密算法中,依赖的是密钥的保密性,只要密钥没有被泄露,对称加密的结果被截获也没有什么意义。而密钥是用公钥加密的,只能由服务器解开。
===================================
所以在SSL连接没有建立的时候,服务器给客户端发的可以被截获的数据仅有证书,没有其他的数据。其他的数据都要等SSL连接建立之后加密传输。
所以https的证书加密还是安全的,在没有私钥的情况下不存在泄露的可能。

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    window的letsencrpt配置工具

    对于Java Web应用,如果使用的是Tomcat、Jetty等服务器,还需要将生成的证书导入到Java Keystore(JKS)中,并更新服务器的SSL配置。这个过程可能涉及到`keytool`命令行工具的使用,以及修改`server.xml`配置文件。 ...

    最新华为与IBMJAVA面试题

    JSP通过request对象读取客户端请求,session和cookie用于管理用户会话。JSP的errorPage指定错误页面,JavaBeans在JSP中提供数据封装。 【J2EE相关知识】 J2EE(Java Platform, Enterprise Edition)是企业级开发...

    Java面试题最全集

    - XML用于数据交换和配置,也可作为数据存储。 - 分页和效率考虑涉及数据库查询优化、缓存策略等。 - Structs是Java的一个MVC框架,Struts的工作流程涉及Action、Form、DispatcherServlet等组件。 这些面试题...

    大公司java面试题

    使用String的getBytes()和new String(byte[], charset)方法进行编码转换,例如将GB2312转为ISO-8859-1。 【访问数据库】 Statement用于执行静态SQL,PreparedStatement用于预编译SQL,能防止SQL注入,提高性能。 ...

    spring-ai-oracle-store-1.0.0-M7.jar中文文档.zip

    # 【spring-ai-oracle-store-1.0.0-M7.jar中文文档.zip】 中包含: 中文文档:【spring-ai-oracle-store-1.0.0-M7-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【spring-ai-oracle-store-1.0.0-M7.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【spring-ai-oracle-store-1.0.0-M7.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【spring-ai-oracle-store-1.0.0-M7.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【spring-ai-oracle-store-1.0.0-M7-sources.jar下载地址(官方地址+国内镜像地址).txt】 # 本文件关键字: spring-ai-oracle-store-1.0.0-M7.jar中文文档.zip,java,spring-ai-oracle-store-1.0.0-M7.jar,org.springframework.ai,spring-ai-oracle-store,1.0.0-M7,org.springframework.ai.vectorstore.oracle,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,springframework,spring,ai,oracle,store,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【spring-ai-oracle-store-1.0.0-M7.jar中文文档.zip】,再解压其中的 【spring-ai-ora

    3dmax插件丢失贴图.ms

    3dmax插件

    azure-ai-openai-1.0.0-beta.3.jar中文文档.zip

    # 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    (专升本)C语言历年考试题及答案2.doc

    (专升本)C语言历年考试题及答案2.doc

    spring-ai-mongodb-atlas-store-1.0.0-M5.jar中文文档.zip

    # 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    基于Matlab/Simulink的DSTATCOM无功补偿风电并网模型仿真与优化

    内容概要:本文介绍了利用Matlab/Simulink搭建的带有DSTATCOM无功补偿的风电并网模型及其仿真结果。模型中包含了双馈风机(DFIG)和鼠笼感应风机(SCIG),并通过DSTATCOM实现了对电压波动的有效抑制。文中详细描述了DSTATCOM的控制策略,包括电压-无功闭环控制、PI控制器的设计以及低电压穿越功能的实现。此外,还讨论了仿真过程中遇到的一些常见问题及解决方案,如参数选择不当引起的过冲现象、仿真加速技巧等。 适合人群:从事电力系统、风电并网研究的技术人员和研究人员。 使用场景及目标:适用于希望深入了解风电并网系统中无功补偿机制的研究人员和技术人员,旨在提高对DSTATCOM控制策略的理解,掌握解决电压不稳定问题的方法。 其他说明:文中提供了详细的控制算法代码片段,有助于读者更好地理解和复现实验结果。同时,作者分享了一些实用的经验和技巧,如参数调整、仿真加速方法等,对于实际应用具有重要参考价值。

    【基于矢量射线的衍射积分 (VRBDI)】基于矢量射线的衍射积分 (VRBDI) 和仿真工具附Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    langchain4j-ollama-0.26.1.jar中文文档.zip

    # 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    ### 中国智能制造产业发展报告(2023-2024年)总结、智能制造概述

    内容概要:本文详细介绍了2023-2024年度中国智能制造产业发展情况。报告由多个部门和机构联合编写,涵盖智能制造总述、AI赋能制造业转型升级、全球智能制造发展形势、中国智能制造概况、产业分析、发展规划及优秀案例。报告指出,智能制造已成为提升制造业竞争力的国家战略,强调了新一代信息技术与制造业深度融合的重要性。文中分析了中国智能制造的优势、面临的挑战及未来的发展目标,强调了政策引领、试点先行和跨域协同的重要性。同时,报告探讨了AI在智能制造中的应用,特别是大模型对制造业的推动作用,并列举了多个行业和地区的智能制造政策和具体案例,展示了智能制造在中国的广泛应用和未来发展潜力。 适用人群:政府相关部门、智能制造领域的研究人员、企业高管和技术人员、高等院校相关专业的师生等。 使用场景及目标:①帮助政府和企业了解智能制造的最新发展动态和政策导向;②为制造业企业提供智能化转型的参考案例和技术解决方案;③为高校和研究机构提供智能制造领域的研究素材和方向;④促进智能制造技术的普及和应用,推动制造业高质量发展。 阅读建议:此报告内容详尽,涵盖了智能制造的多个方面,读者应重点关注中国智能制造的优势、面临的挑战、发展目标及相关政策。同时,结合实际工作或研究需求,深入研读具体章节和案例,以获得更有针对性的知识和启示。

    自动驾驶车辆运动控制中PID参数优化的强化学习探索:基于DDPG算法的解决方案

    内容概要:本文探讨了在自动驾驶车辆运动控制中,传统PID控制算法由于参数固定的局限性,难以适应复杂的路况和车速变化的问题。为了克服这一挑战,文章介绍了如何利用基于Actor-Critic框架的DDPG(深度确定性策略梯度)算法来动态调整PID控制参数。具体来说,Actor网络负责输出优化后的PID参数,而Critic网络则评估这些参数的效果。通过不断的学习和调整,使车辆能够在各种情况下表现出更好的控制性能。此外,文中还详细描述了奖励函数的设计,确保控制不仅精确而且平稳。 适合人群:从事自动驾驶研究的技术人员、对强化学习应用于实际控制系统感兴趣的学者及工程师。 使用场景及目标:适用于希望提升自动驾驶车辆在复杂道路条件下的稳定性和灵活性的研究项目。目标是在不同路况和车速条件下,通过动态调整PID参数,提高车辆的控制精度和平顺性。 其他说明:文章提供了具体的代码示例,帮助读者理解和实现相关算法。同时也指出了在实际应用中可能遇到的问题及其解决办法,如参数调整的边界约束、状态输入的数据平滑处理等。

    spring-ai-opensearch-store-1.0.0-M5.jar中文文档.zip

    # 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    spring-ai-model-chat-memory-jdbc-1.0.0-M7.jar中文-英文对照文档.zip

    # 【spring-ai-model-chat-memory-jdbc-1.0.0-M7.jar中文-英文对照文档.zip】 中包含: 中文-英文对照文档:【spring-ai-model-chat-memory-jdbc-1.0.0-M7-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【spring-ai-model-chat-memory-jdbc-1.0.0-M7.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【spring-ai-model-chat-memory-jdbc-1.0.0-M7.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【spring-ai-model-chat-memory-jdbc-1.0.0-M7.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【spring-ai-model-chat-memory-jdbc-1.0.0-M7-sources.jar下载地址(官方地址+国内镜像地址).txt】 # 本文件关键字: spring-ai-model-chat-memory-jdbc-1.0.0-M7.jar中文-英文对照文档.zip,java,spring-ai-model-chat-memory-jdbc-1.0.0-M7.jar,org.springframework.ai,spring-ai-model-chat-memory-jdbc,1.0.0-M7,org.springframework.ai.chat.memory.jdbc,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,springframework,spring,ai,model,chat

    tokenizers-0.25.0.jar中文文档.zip

    # 【tokenizers-***.jar***文档.zip】 中包含: ***文档:【tokenizers-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【tokenizers-***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【tokenizers-***.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【tokenizers-***.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【tokenizers-***-sources.jar下载地址(官方地址+国内镜像地址).txt】 # 本文件关键字: tokenizers-***.jar***文档.zip,java,tokenizers-***.jar,ai.djl.huggingface,tokenizers,***,ai.djl.engine.rust,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,djl,huggingface,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【tokenizers-***.jar***文档.zip】,再解压其中的 【tokenizers-***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件; # Maven依赖: ``` <dependency> <groupId>ai.djl.huggingface</groupId> <artifactId>tokenizers</artifactId> <version>***</version> </dependency> ``` # Gradle依赖: ``` Gradle: implementation group: 'ai.djl.huggingface', name: 'tokenizers', version: '***' Gradle (Short): implementation 'ai.djl.huggingface:tokenizers:***' Gradle (Kotlin): implementation("ai.djl.huggingface:tokenizers:***") ``` # 含有的 Java package(包): ``` ai.djl.engine.rust ai.djl.engine.rust.zoo ai.djl.huggingface.tokenizers ai.djl.huggingface.tokenizers.jni ai.djl.huggingface.translator ai.djl.huggingface.zoo ``` # 含有的 Java class(类): ``` ai.djl.engine.rust.RsEngine ai.djl.engine.rust.RsEngineProvider ai.djl.engine.rust.RsModel ai.djl.engine.rust.RsNDArray ai.djl.engine.rust.RsNDArrayEx ai.djl.engine.rust.RsNDArrayIndexer ai.djl.engine.rust.RsNDManager ai.djl.engine.rust.RsSymbolBlock ai.djl.engine.rust.RustLibrary ai.djl.engine.rust.zoo.RsModelZoo ai.djl.engine.rust.zoo.RsZooProvider ai.djl.huggingface.tokenizers.Encoding ai.djl.huggingface.tokenizers.HuggingFaceTokenizer ai.djl.huggingface.tokenizers.HuggingFaceTokenizer.Builder ai.djl.hu

    【企业智能化转型】腾讯云DeepSeek大模型知识引擎:提升企业人效与业务增长的智能解决方案

    内容概要:本文介绍了腾讯云DeepSeek大模型知识引擎在企业服务中的应用,旨在提升企业人效和业务增长。大模型具备理解、学习、生成和推理能力,已在智能客服、智能办公等领域落地。文章详细介绍了三种主要应用模式——标准模式、工作流模式和Agent模式,分别适用于不同需求场景。此外,还展示了知识引擎在企业行政问答、专业知识查询、质检、保险建议书生成等具体业务中的成功案例。针对大模型应用中的难点,如企业知识更新快、知识格式多样等问题,腾讯云提供了全链路解决方案,涵盖知识获取、处理、检索、理解和生成。最后,文章强调了大模型知识引擎的安全防护措施,确保数据资产的安全。 适合人群:企业管理人员、信息技术部门负责人、数据科学家、AI开发者等关注企业智能化转型的专业人士。 使用场景及目标:①通过智能客服、智能办公等场景提高员工工作效率;②利用标准模式、工作流模式和Agent模式满足不同业务需求;③解决企业知识更新快、知识格式多样等实际难题,提升业务处理的准确性和效率;④保障企业数据安全,防止敏感信息泄露。 其他说明:本文还探讨了大模型在金融舆情摘要、投顾服务、投研服务、车险评残业务等领域的潜在应用场景,展示了大模型知识引擎的广泛适用性和强大功能。

    电源.SCHLIB

    电源.SCHLIB

    基于小脑模型神经网络的轨迹跟踪研究附Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

Global site tag (gtag.js) - Google Analytics