Tomcat:配置SSL
SSL简述
SSL就是安全套接字层,是一种允许web浏览器和 web服务器通过安全连接通信的技术。这是一个双向的过程,这意味着 服务器和浏览器在发送数据之前加密所有交流的数据。
SSL有一个重要的特点,就是需要认证。也就是说当使用Web浏览器访问Server时,Server会提供给浏览器一个证书。
在使用tomcat时,存在下面几种情况:
1)默认情况下,是不启用SSL的,通过https协议访问应用肯定是失败的。
2)只启用SSL时,只能通过https协议来访问。(这里不说AJP)
3)同时启用HTTP,HTTPS,就可以通过HTTP与HTTPS同时访问了。
生成keystore
证书是需要有密钥库来支撑,KeyStore文件就代表了密钥库。Key文件有多种形式,目前Tomcat支持的keystore有:JKS,PKCS11,PKCS12。其中JKS是java keystore,是由java实现的,可以通过jdk/bin/keytool工具创建keystore文件。PKCS12是一个网络标准,可以通过OpenSSL、Microsoft的Key-Manager来管理。
下面就使用JKS来作用密钥库格式。
-keyalg是生成公钥、私钥的算法。常用的有RSA、DSA等。
使用上述使用时密码必须是一致的,这一点是Tomcat要求的。其中第一个密码是keystore文件的密码,访问这个文件需要有密码的,最后的密码是生成的key的密码。
生成的keystore文件的位置,默认是在${user.home}/.keystore,如果想要改变位置,可以使用命令:
在server.xml配置SSL
KeystorePass就是keystore文件的访问密码。你可以修改为其它的。
keystoreFIle就是keystore文件的位置,让tomcat启动时找到密钥库。
测试
测试1:只启用HTTPS,不启用HTTP
在server.xml中,为8080端口的Connector加上注释,并且去掉8443端口的Connector的注释。然后启动tomcat。
分别通过http\https访问docs:
http://localhost:8080/docs、https://localhost:8443/docs
结果:只有https可以访问。
测试2:HTTP、HTTPS同时启用
在server.xml中,去掉8080、8443端口的Connector的注释然后启动tomcat。
分别用http\https访问docs:
http://localhost:8080/docs、https://localhost:8443/docs
结果:两者都可正常访问。
redirectPort作用
先看看tomcat官方文档是如何解释的:
If this Connector is supporting non-SSL requests, and a request is received for which a matching <security-constraint> requires SSL transport, Catalina will automatically redirect the request to the port number specified here.
如果当前的connector支持非SSL请求(也就是可以以http方法访问),并且请求的资源与web.xml中<security-constraint>中指定的url匹配时,Catalina就会自动的将请求重写向到redirectport指定端口。redirectport配置是SSL connector的端口。
security-constraint 下配置的url是用于对访问者进行身份认证的配置,怎么又与SSL有关了呢?
带着这个疑问,来看看oracle官方文档中关于web.xml描述:
> web-resource-collection是配置url的。
> auth-constraint是配置身份认证的。
> user-data-constraint是用于定义客户端与server通信时对数据的处理方式。
下面是user-data-constrain下的子元素:
Transport-guarantee 值中涉及到SSL的有2个:integral、confidential:
Integral:要求client与server之间传输的数据不能被篡改。
Confidential:要求client与server之间传输的数据会被转换,不能够直接看到原始内容。
Tomcat:配置SSL的更多相关文章
- 华为云服务器为Tomcat配置SSL
近期由于开发小程序需要在云服务器上配置https访问协议,也遇到了一点小问题,把配置过程记录一下:SSL 证书申请下来之后会有 .jks .crt .pfx .pem为后缀的文件(如何申请SSL证书这 ...
- TOMCAT配置SSL认证为HTTPS协议服务
1 . 问题概述 很多安全性要求较高的系统,都会使用安全套接字层(SSL)进行信息交换, Sun为了解决在Internet上的实现安全信息传输的解决方案.它实现了SSL和TSL(传输层安全)协议 ...
- 单点登录 SSO, 自动登录 , java 加密,ssl原理, Tomcat配置SSL
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha 单点登录的英文简称为SSO(single sign on),单点登录功能使得用户只要登录 ...
- Tomcat配置SSL
Tomcat配置SSL 查询网上资料配置如下: <Connector port="8443" protocol="HTTP/1.1" maxThreads ...
- 实战Tomcat配置SSL,使用openssl制作证书
制作证书以及Tomcat配置 搭建openssl环境,下载openssl并设置环境变量方便命令行的使用: 修改openssl配置文件,设置dir目录,如设置dir=e:/temp/openssl_ca ...
- Mac下tomcat配置ssl
最近在搞单点登录CAS,第一步就是需要给tomcat配置证书.但是,第一次配置就遇到了个问题排插了一下午.下面来存一份文档,以备以后遇到. 一.首先准备好环境 java环境:配置好环境变量,找到jdk ...
- Tomcat配置SSL后使用HTTP后跳转到HTTPS
Tomcat配置好SSL后将HTTP请求自动转到HTTPS需要在TOMCAT/conf/web.xml的未尾加入以下配置: <login-config> <!-- Authoriza ...
- Springboot 配置 ssl 实现HTTPS 请求 & Tomcat配置SSL支持https请求
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议.TLS与 ...
- apache Tomcat配置SSL(https)步骤
Tomcat配置https 1 生成Server端安全证书 要实现通信加密,首先要在本地准备一份符合X.509标准的Server端安全证书.如果有条件的话,可以向权威CA申请一份经过认证的安 ...
- linux apache Tomcat配置SSL(https)步骤
https简介 它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果.HTTPS实际上应用了Netscape的安全套接字层(SSL)作为HTTP应用层的 ...
随机推荐
- CSS3中惊艳的gradient
以前曾经记录过linear-gradient(线性渐变)和 radial-gradient(径向渐变)的语法. 可以参考<CSS3中border-radius.box-shadow与gradie ...
- ORA-00257 archiver error 处理思路
1.首先查下oerr给出的简要说明 2.查询V$RECOVERY_AREA_USAGE信息 3.根据实际空间剩余情况先适当增加归档目录的大小,保证先恢复业务 4.查看备份是否存在问题 1.首先查下oe ...
- 探秘Tomcat——一个简易的Servlet容器
即便再简陋的服务器也是服务器,今天就来循着书本的第二章来看看如何实现一个servlet容器. 背景知识 既然说到servlet容器这个名词,我们首先要了解它到底是什么. servlet 相比你或多或少 ...
- Buffer cache hit ratio性能计数器真的可以作为内存瓶颈的判断指标吗?
Buffer cache hit ratio官方是这么解释的:“指示在缓冲区高速缓存中找到而不需要从磁盘中读取的页的百分比.” Buffer cache hit ratio被很多人当做判断内存的性能指 ...
- git版本回退, github版本回退
上周提交了更改,过了周末回来说要撤销上个story.于是,需要找到上周提交的版本,rollback回来. git版本管理命令,自从习惯使用管理工具之后就很少接触了,当突然寻找其他指令的时候就成浆糊了, ...
- 细说Cookie
阅读目录 开始 Cookie 概述 Cookie的写.读过程 使用Cookie保存复杂对象 Js中读写Cookie Cookie在Session中的应用 Cookie在身份验证中的应用 Cookie的 ...
- C# 特性学习之一、CallerMemberName、CallerFilePath和CallerLineNumber
在开发中经常会写个公有静态类记录日志,如下: /// <summary> /// Writes the error. /// </summary> /// <param ...
- 背水一战 Windows 10 (19) - 绑定: TemplateBinding 绑定, 与 RelativeSource 绑定, 与 StaticResource 绑定
[源码下载] 背水一战 Windows 10 (19) - 绑定: TemplateBinding 绑定, 与 RelativeSource 绑定, 与 StaticResource 绑定 作者:we ...
- 背水一战 Windows 10 (15) - 动画: 缓动动画
[源码下载] 背水一战 Windows 10 (15) - 动画: 缓动动画 作者:webabcd 介绍背水一战 Windows 10 之 动画 缓动动画 - easing 示例演示缓动(easing ...
- css中定位
一切皆为框div.h1或p元素尝尝被称为块级元素.这意味着这些元素显示为一块内容,即“块框”.与之相反,span和strong等元素称为“称为”行内元素“,这是因为他们的内容显示在行中,即”行内框“. ...