每日一得--https协议及tomcat服务器简单配置(待验证)

深入理解HTTPS工作原理 前言 近几年,互联网发生着翻天覆地的变化,尤其是我们一直习以为常的HTTP协议,在逐渐的被HTTPS协议所取代,在浏览器、搜索引擎、CA机构、大型互联网企业的共同促进下,互联网迎来了“HTTPS加密时代”,HTTPS将在未来的几年内全面取代HTTP成为传输协议的主流。 读完本文,希望你能明白: HTTP通信存在什么问题 HTTPS如何改进HTTP存在那些问题 HTTPS工作原理是什么 想阅读更... 阅读详情

也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据


1. 客户端发起HTTPS请求

这个没什么好说的,就是用户在浏览器里输入一个https网址,然后连接到server的443端口。

2. 服务端的配置

采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面(startssl就是个不错的选择,有1年的免费服务)。这套证书其实就是一对公钥和私钥。如果对公钥和私钥不太理解,可以想象成一把钥匙和一个锁头,只是全世界只有你一个人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。

3. 传送证书

这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间等等。

4. 客户端解析证书

这部分工作是有客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随即值。然后用证书对该随机值进行加密。就好像上面说的,把随机值用锁头锁起来,这样除非有钥匙,不然看不到被锁住的内容。

5. 传送加密信息

这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。

6. 服务段解密信息

服务端用私钥解密后,得到了客户端传过来的随机值(私钥),然后把内容通过该值进行对称加密。所谓对称加密就是,将信息和私钥通过某种算法混合在一起,这样除非知道私钥,不然无法获取内容,而正好客户端和服务端都知道这个私钥,所以只要加密算法够彪悍,私钥够复杂,数据就够安全。

7. 传输加密后的信息

这部分信息是服务段用私钥加密后的信息,可以在客户端被还原

8. 客户端解密信息

客户端用之前生成的私钥解密服务段传过来的信息,于是获取了解密后的内容。整个过程第三方即使监听到了数据,也束手无策。

9. 自己生成证书,tomcat服务器https配置

(1).生成keystore

利用 JDK 自带的 keytool 工具完成keystore 的生成,运行命令:

[JAVA_HOME]/bin/keytool -genkey -alias tomcat -keyalg RSA  -keystore [location/fileName]

根据提示输入各项值。最后在location 路径下生成名为fileName 的KeyStore 文件。

(2). 修改server.xml

在tomcat 的conf 目录下找到server.xml, 在该文件中找到与SSL 相关的内容,<!-- Define a SSL HTTP/1.1 Connector on port 8443 --> ,将“<Connector port="8443"…… ”这个标签的注释去掉,并且在加入两个属性:keystoreFile 和keystorePass ,其中keystoreFile 指向上一步生成的KeyStore 文件,keytStorePass 为上一步中输入的keystore 密码。

(3). 强制Https 访问

经过上面两部的设置,Tomcat 已经可以支持Https 的访问了,但是Http 的访问也同样支持。

在tomcat 的conf 目录下找到web.xml 文件,加入如下配置:

 

<login-config> 

    <!-- Authorization setting for SSL --> 

    <auth-method>CLIENT-CERT</auth-method> 

    <realm-name>Client Cert Users-only Area</realm-name> 

</login-config> 

<security-constraint> 

    <!-- Authorization setting for SSL --> 

    <web-resource-collection > 

        <web-resource-name >SSL</web-resource-name> 

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

    </web-resource-collection> 

    <user-data-constraint> 

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

    </user-data-constraint> 

</security-constraint> 

 

保存文件,现在再启动Tomcat 如果输入的是Http 的地址会自动跳转到Https 的地址。

HTTPS原理详解 1、HTTPS的工作原理    HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL协议不仅仅是一套加密传输的协议,更是一件经过艺术家精心设计的艺术品,TLS/SSL中使用了非对称加密,对称加密以及HASH算法。握手过程的具体描述如下:1.浏览器将自己支持的一套加密规则发送给网站。 2.网站从中选出一组加密算法与... 阅读详情

相关推荐

Debian 9下Tomcat 9安装与systemd服务配置全指南

Tomcat是Java Web应用最常用的Servlet容器,其稳定运行依赖于操作系统初始化系统、Java运行时环境和网络策略的协同。systemd作为现代Linux主流init系统,负责服务生命周期管理、资源隔离与依赖调度;而Java版本兼容性(如OpenJDK 8/11)、JAVA_HOME路径准确性及JVM参数配置,则直接决定Tomcat能否完成类加载与JSP编译。在Debian 9等长期支持系统中,常见故障如‘Failed to connect to bus’或‘Unsupported class

weixin_34124651的博客 410

HTTPS原理,三分钟轻松搞懂

HTTPS协议原理

qh1112的博客 2万+

JavaWeb 项目部署实战:MySQL 8.0.22 + Tomcat 7 环境配置与 5 大常见问题排查

本文详细介绍了JavaWeb项目在生产环境中的部署实战,包括MySQL 8.0.22和Tomcat 7的环境配置、性能优化及五大常见问题排查。通过综合案例演示,帮助开发者快速掌握从环境准备到上线维护的全流程,提升项目部署效率和稳定性。

weixin_30307921的博客 467

HTTPS协议及其工作原理

123456

Boone的博客 7194

CentOS 7 + Tomcat 8 + systemd 完整部署与安全加固指南

Web容器是Java应用运行的基础载体,其部署本质是操作系统服务化能力的综合体现。理解systemd服务生命周期管理、Java环境变量在非登录shell中的继承机制、SELinux端口类型策略及Tomcat RBAC权限模型,是保障服务稳定与安全的核心原理。这些技术组合不仅决定8080端口能否被访问,更影响等保合规性、OOM防护能力与日志审计完整性。典型应用场景包括VMware虚拟机中搭建测试环境、生产级Java Web服务上线前的标准化部署,以及Java后端工程师应对‘如何部署Tomcat’面试题的工程化

weixin_33811539的博客 403

Jenkins集成OWASP ZAP实现自动化安全扫描:HTTPS证书配置全攻略

在DevOps和敏捷开发实践中,持续集成/持续部署(CI/CD)已成为软件交付的核心流程,旨在实现快速、可靠的自动化构建与部署。其核心原理是通过自动化流水线串联代码提交、构建、测试和部署等环节,从而提升交付效率与质量。在这一流程中,安全测试的自动化集成具有关键的技术价值,它能将安全左移,在开发早期发现并修复漏洞,有效降低线上应用风险。OWASP ZAP作为一款功能强大的开源Web应用安全扫描器,常被用于自动化安全测试场景。本文将探讨如何将其与Jenkins流水线深度集成,并重点解析在扫描HTTPS站点时遇到

weixin_30514745的博客 400

实战指南:基于快马生成tomcat生产级配置,涵盖https、集群与性能调优

今天想和大家分享一个实战经验:如何在生产环境中配置Tomcat服务器。作为一个长期和Tomcat打交道的开发者,我深知生产环境配置和本地开发环境的巨大差异。如果你也在为Tomcat生产配置发愁,不妨试试这个方案。在快马平台上,这些配置都能快速生成和验证,省去了大量手动调试的时间。平台提供的实时预览功能让我能立即看到配置效果,一键部署也很方便,不用操心环境问题。最棒的是所有配置都有详细注释,对理解每个参数的作用帮助很大。上实践了一套完整的配置方案,效果很不错,这里把关键点整理出来。

SilverfoxOwl19的博客 21

Ubuntu下Nginx反向代理实战:HTTPS、安全头与多服务托管

反向代理是现代Web架构的基础能力,指前端服务器接收客户端请求后,将请求转发至后端服务并返回响应的中间层机制。其核心原理在于解耦网络入口与业务逻辑,实现SSL终止、负载分发、安全策略注入等关键功能。技术价值体现在统一安全治理(如HSTS、X-Frame-Options)、降低应用层复杂度、提升HTTPS部署效率。典型应用场景包括Node.js/Python服务暴露、多域名共存、WebSocket长连接维护及内网服务安全透出。本文聚焦Ubuntu系统环境,结合Nginx反向代理与Let's Encrypt自动

weixin_30378623的博客 383

每日一记8.12

springboot项目中的跨域配置 什么是跨域? 想要明白什么是跨域,就需要先明白同源策略。浏览器有一种安全机制叫作同源策略,它是用于隔离恶意文件的一种机制。但是在隔离恶意文件的同时,也会把正常的文件隔离。 什么时候就会出现跨域问题? 当所在域与请求域的ip、端口、协议有一个是不同时,就会发生跨域问题。 在spring boot中如何配置 1、使用配置类 @Conf...

weixin_30755709的博客 159

宝塔面板安装后必看:默认软件路径大全(含Nginx/MySQL/Redis/Tomcat)

本文详细解析了宝塔面板安装后各核心组件的默认路径,包括Nginx、MySQL、Redis和Tomcat等服务的安装位置。通过了解这些路径,用户可以高效进行配置文件修改、数据迁移等运维操作,提升服务器管理效率。特别适合刚完成宝塔面板安装的新手用户参考。

weixin_28323057的博客 290

Ubuntu 14.04下HAProxy SSL终止实战:兼容性优先的HTTPS卸载方案

SSL终止(SSL Termination)是将TLS解密卸载到反向代理层的关键技术,其核心原理在于代理服务器代为完成TLS握手与加解密,后端以HTTP通信,显著降低应用层安全负担。在老旧系统如Ubuntu 14.04上,该技术的价值远超性能优化——它成为支撑遗留Java/PHP服务对外提供HTTPS的生存刚需。然而,OpenSSL 1.0.1f、HAProxy 1.4.x等陈旧工具链带来严峻兼容性挑战:PEM格式解析异常、ECDSA密钥不识别、TLS协议降级失效等。本文聚焦SSL Termination在

weixin_33675507的博客 345

Day5 JavaWeb知识了解以及每日一题:力扣125.验证回文串

JavaBean是一种符合特定约定的Java类,用于封装多个对象成一个单一对象(bean)。JavaBean通常用于表示数据模型,便于在不同的Java组件之间传递和共享数据。JavaBean广泛应用于Java EE和Java Web应用中,尤其是在JSP和Servlet中。我们平时可能不知不觉使用的就是JavaBean,可以理解成是一种编码规范的类吧。

spy47_的博客 1194

一张图就把HTTPS工作原理讲明白了!

SSL(Secure Sockets Layer)和TLS(Transport Layer Security)是为互联网通信提供安全保障的加密协议。TLS是SSL的升级版本,具有更高的安全性和性能。SSL/TLS的主要功能加密:使用对称加密算法和非对称加密算法对数据进行加密,确保数据在传输过程中保持机密性。身份验证:通过数字证书验证服务器和客户端的身份,防止中间人攻击。数据完整性:使用消息验证码(MAC)和散列函数确保数据在传输过程中没有被篡改。

网络技术联盟站 812

Nginx 负载均衡、Web 运维与 Tomcat 集群全套实战教程

本文基于多台 CentOS 虚拟机完成 Web 全栈实操,覆盖 Nginx 各类负载均衡策略、会话保持、限流防盗链、HTTPS 加密;详解 PHP 源码编译、PHP-FPM 联动、Memcache 缓存;包含第三方模块编译、OpenResty 一体化部署;同时搭建双 Tomcat 集群,借助 Memcached+MSM 插件实现分布式共享 Session,完整复现节点宕机故障切换,配套压力测试、日志可视化等运维工具实操,适合 Web 服务与集群负载均衡实训学习。

2401_84291419的博客 258

WPS集成DeepSeek最新教程,附详细图文,让文案生成更智能

本文将为大家详细介绍如何将 DeepSeek 功能集成到 WPS 中,通过 OfficeAI 插件,你无需进行复杂的本地部署,只需通过官网连接即可快速启用 DeepSeek 强大的 AI 功能。不论是文案生成、翻译校对,还是深度推理、决策支持,DeepSeek 都能为你提供便捷的解决方案。让我们一起来看看如何操作吧!

Java徐师兄的博客 6万+

opencv读取海康威视摄像头相关配置

1、开发环境 海康威视的网络摄像头使用: 开发工具:vs2015 C++ 海康SDK 2、相关操作 下载海康威视SDK:网址:http://www.hikvision.com/cn/download_61.html • 1:对照自己的开发平台可以下载设备网络SDK_Win32设备网络SDK_Win64,解压到本地文件下: • 2:VS配置 、Opencv配置。参考址 http://blog.youkuaiyun.com/poem_qianmo/article/details/19809337 (建议自己创

HMJ115的博客 984

无sudo权限下使用acme.sh自动化管理HTTPS证书的完整实践指南

HTTPS证书管理是保障网站安全通信的基础技术,其核心原理是通过SSL/TLS协议实现数据加密传输。传统证书管理工具如certbot通常需要root权限,这违背了最小权限原则,在多用户环境、容器化部署等现代架构中带来安全隐患。acme.sh作为一款零依赖的ACME客户端,通过其强大的钩子系统和用户空间配置能力,实现了在普通用户权限下的完整证书生命周期管理。结合DNS-01验证方式,利用云服务商API完成域名验证,彻底摆脱对服务器文件系统权限的依赖。这种方案特别适用于容器环境、CI/CD流水线等场景,实现了安

weixin_30698297的博客 348

如何在INCA中修改标定量的初始值,并刷回控制器

测试过程中,有些时候,标定量来不及修改,这就需要修改标定量的初始值了,又不想打开模型重新编译,因此直接在INCA中修改,然后再刷回控制器,就成了最佳选择,之前也学过,长时间不用,忘记怎么搞了,最近又用到了,这次记录一下,以后用到的时候,就不用在网上东翻西找了。截止到2023年11月24日,共找到了两种方法可以实现修改。

weixin_43406519的博客 4200

常用软件/服务默认端口参考

网络层---数据包的包格式里面有个很重要的字段叫做协议号。比如在传输层如果是TCP连接,那么在网络层IP包里面的协议号就将会有个值是6,如果是UDP的话那个值就是17---传输层。 传输层---通过接口关联(端口的字段叫做端口)---应用层。 Linux用netstat –an 可以查看本机开放的端口号。 代理服务器常用以下端口: (1). HTTP协议代理服务器常用端口号:80/8080...

shan 1986

22h2版本的win10安装Docker Desktop时页面空白

摘要:Windows10 22H2系统重装Docker时出现安装界面卡死问题,通过管理员CMD执行静默安装命令解决。命令指定了WSL-2后端及多个自定义数据存储路径(安装目录、Hyper-V数据、Windows容器数据、WSL数据),安装需等待几分钟。最终验证安装成功。

猿小白的博客 658

【ArcPy】用Python批量处理大规模地理数据的几何校正

在许多GIS应用中,尤其是在大规模地理数据处理时,几何校正(Geometric Correction)是一个至关重要的任务。它确保了不同来源的地理数据能够正确地对齐和匹配,从而为后续分析提供准确的基础。几何校正的常见应用包括遥感影像的地理配准、矢量数据的投影转换等。几何校正通常包括坐标转换、重采样等步骤。以下示例展示了如何使用arcpy的工具进行几何校正。"""实施几何校正:param input_layer: 输入待校正数据层。

陈书予 1000

Java应用等保三级合规改造:三天极限挑战的代码、配置、运维三层加固实战

应用安全是软件系统稳定运行的基石,其核心在于构建纵深防御体系。从原理上看,安全风险主要源于代码实现缺陷、运行环境配置不当以及缺乏持续监控。在技术价值层面,有效的安全实践能显著降低数据泄露、服务中断等业务风险,满足法规要求。尤其在金融、政务等对安全性要求极高的应用场景中,等级保护(等保)合规是强制性门槛。本文聚焦于如何在时间紧迫的情况下,对Java应用进行快速合规改造。通过结合静态应用安全测试(SAST)与软件成分分析(SCA)等自动化工具,精准定位代码层漏洞;同时,系统性地加固中间件、数据库等配置层,并搭建

weixin_33767813的博客 308

Allegro如何输出ODB文件操作指导

在PCB设计完成之后,需要输出生产文件用于生产加工,除了gerber文件可以用生产制造,ODB文件同样也可以用于生产,如下图。用Allegro如何输出ODB文件,具体操作如下。如何输出ODB文件操作指导。

weixin_54787054的博客 7206

Ubuntu 20.04部署Apache Web服务器实战指南

Apache HTTP Server是基于HTTP协议的开源Web服务器软件,其核心能力包括静态文件服务、虚拟主机管理、SSL/TLS终止和模块化请求处理。它通过多路复用(如event MPM)与POSIX系统深度集成,实现高并发下的稳定响应。在Ubuntu 20.04 LTS环境中,apt包管理提供经安全加固、依赖闭环、systemd原生集成的apache2二进制,显著降低运维复杂度与配置漂移风险。该方案广泛适用于企业静态官网发布、内部文档系统、CI/CD制品仓库、API网关前置代理等轻量级生产场景,尤其

weixin_30932215的博客 340

T113-S3-RTL8211网口phy芯片调试

在嵌入式系统开发中,网络连接是至关重要的一部分。T113-S3开发板搭载了RTL8211系列的网口PHY芯片,用于实现以太网连接。在开发过程中,对于网口的稳定性和性能的调试至关重要。本篇博客将介绍如何调试T113-S3开发板中的RTL8211网口PHY芯片,以确保网络连接的正常工作。

flypig has a dream! 4614

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: 每日一得--oracle 11g卸载
下一篇: 每日一得--Failed to allocate memory: 8
一根筋i
博客等级 码龄16年 7粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值