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/docshttps://localhost:8443/docs

结果:只有https可以访问。

测试2:HTTP、HTTPS同时启用

在server.xml中,去掉8080、8443端口的Connector的注释然后启动tomcat。

分别用http\https访问docs:

http://localhost:8080/docshttps://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的更多相关文章

  1. 华为云服务器为Tomcat配置SSL

    近期由于开发小程序需要在云服务器上配置https访问协议,也遇到了一点小问题,把配置过程记录一下:SSL 证书申请下来之后会有 .jks .crt .pfx .pem为后缀的文件(如何申请SSL证书这 ...

  2. TOMCAT配置SSL认证为HTTPS协议服务

     1 . 问题概述 很多安全性要求较高的系统,都会使用安全套接字层(SSL)进行信息交换, Sun为了解决在Internet上的实现安全信息传输的解决方案.它实现了SSL和TSL(传输层安全)协议 ...

  3. 单点登录 SSO, 自动登录 , java 加密,ssl原理, Tomcat配置SSL

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 单点登录的英文简称为SSO(single sign on),单点登录功能使得用户只要登录 ...

  4. Tomcat配置SSL

    Tomcat配置SSL 查询网上资料配置如下: <Connector port="8443" protocol="HTTP/1.1" maxThreads ...

  5. 实战Tomcat配置SSL,使用openssl制作证书

    制作证书以及Tomcat配置 搭建openssl环境,下载openssl并设置环境变量方便命令行的使用: 修改openssl配置文件,设置dir目录,如设置dir=e:/temp/openssl_ca ...

  6. Mac下tomcat配置ssl

    最近在搞单点登录CAS,第一步就是需要给tomcat配置证书.但是,第一次配置就遇到了个问题排插了一下午.下面来存一份文档,以备以后遇到. 一.首先准备好环境 java环境:配置好环境变量,找到jdk ...

  7. Tomcat配置SSL后使用HTTP后跳转到HTTPS

    Tomcat配置好SSL后将HTTP请求自动转到HTTPS需要在TOMCAT/conf/web.xml的未尾加入以下配置: <login-config> <!-- Authoriza ...

  8. Springboot 配置 ssl 实现HTTPS 请求 & Tomcat配置SSL支持https请求

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议.TLS与 ...

  9. apache Tomcat配置SSL(https)步骤

    Tomcat配置https 1      生成Server端安全证书 要实现通信加密,首先要在本地准备一份符合X.509标准的Server端安全证书.如果有条件的话,可以向权威CA申请一份经过认证的安 ...

  10. linux apache Tomcat配置SSL(https)步骤

    https简介 它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果.HTTPS实际上应用了Netscape的安全套接字层(SSL)作为HTTP应用层的 ...

随机推荐

  1. ZOJ Problem Set - 1251 Box of Bricks

    这道题简单的翻译成纯数学语言就是给你n个数字,每次运算只能是加1或者减1,问经过最短几步可以使得n个数字相等 由于题目限定了n个数字一定有平均数,所以求出avg,将所有比其大的数字或者比其小的数字的差 ...

  2. Oracle软件安装目录满的清理方法

    这是Oracle数据库日常运维中很常见的一个场景,安装目录满有时不光会导致无法记录最新数据库的日志信息,导致遇到问题无法查到最新的日志信息,还会引发一些奇怪的问题. 所以日常巡检要保证Oracle的安 ...

  3. HashMap和HashTable到底哪不同?

    HashMap和HashTable有什么不同?在面试和被面试的过程中,我问过也被问过这个问题,也见过了不少回答,今天决定写一写自己心目中的理想答案. 代码版本 JDK每一版本都在改进.本文讨论的Has ...

  4. ASP.NET或者 js方式实现文件夹多图片浏览的方式

    1.JS方式,限制大,而且图片名称如果不规则的话会获取不全. <html> <head> <style> img { max-width:1300px; } < ...

  5. 初次体验百度eCharts遇到的问题和解决方法

    前言 上周在厌烦Highchart下,体验了下百度的eCharts,支持IE6.7.8+外,对数据在线编辑还有工具栏支持,体验时遇到了几个小问题,最近两天在尝试得到了一个解决方法. Tooltip时单 ...

  6. PopupWindow 点击外部和返回键无法消失背后的真相(setBackgroundDrawable(Drawable background))

    刚接手PopupWindow的时候,我们都可能觉得很简单,因为它确实很简单,不过运气不好的可能就会踩到一个坑: 点击PopupWindow最外层布局以及点击返回键PopupWindow不会消失 新手在 ...

  7. 在Visual Studio 2012中使用VMSDK开发领域特定语言(二)

    本文为<在Visual Studio 2012中使用VMSDK开发领域特定语言>专题文章的第二部分,在这部分内容中,将以实际应用为例,介绍开发DSL的主要步骤,包括设计.定制.调试.发布以 ...

  8. css毛玻璃效果

    毛玻璃其实就是磨砂玻璃,能够模糊的看清背后的风景,让人感觉有种朦胧美,让界面看上去有些层次感. 比如: 高大上啊,接下来肯定是眼馋手痒的过程... 当然,用ps搞一个全景毛玻璃背景毫无疑问是最省事的, ...

  9. html5 前端图片处理(预览、压缩、缩放)

    现在手机图片是越来越大了,上传图片流量耗费巨大.同时预览也是一个问题,所以利用HTML5 file和canvas来解决这个问题. var upload = { _o: null,//对象id _aut ...

  10. 对于UDS(ISO14229-2006) 汉译的声明(必读)

    本系列文章系作者个人翻译,最初目的为方便以后阅读和锻炼英语能力,欢迎读者参阅品鉴,本文不正确之处欢迎读者指出. 本文在此声明著作权利:转载必须注明出处,修改必须通知本作者