Tomcat 的 SSL 配置
本教程使用 JDK 6 和 Tomcat 7,其他版本类似。
基本步骤:
- 使用 java 创建一个 keystore 文件
- 配置 Tomcat 以使用该 keystore 文件
- 测试
- 配置应用以便使用 SSL ,例如 https://localhost:8443/yourApp
1. 创建 keystore 文件
执行 keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "f:\tomcat.keystore" 结果如下:
D:\Java\jdk1.8.0_101\bin>keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "f:\tomcat.keystore"
输入密钥库口令:tomcat
再次输入新口令:tomcat
您的名字与姓氏是什么?
[Unknown]: zixianwu
您的组织单位名称是什么?
[Unknown]: taishan
您的组织名称是什么?
[Unknown]: fangda
您所在的城市或区域名称是什么?
[Unknown]: sz
您所在的省/市/自治区名称是什么?
[Unknown]: gd
该单位的双字母国家/地区代码是什么?
[Unknown]: zh
CN=zixianwu, OU=taishan, O=fangda, L=sz, ST=gd, C=zh是否正确?
[否]: y
输入 <tomcat> 的密钥口令
(如果和密钥库口令相同, 按回车):
这样就在用户的 F盘 下创建了一个 tomcat.keystore 文件
2. 配置 Tomcat 以使用 keystore 文件
打开 server.xml 找到下面被注释的这段
<!--
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
干掉注释,并将内容改为
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="25" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
acceptCount="100" disableUploadTimeout="true" enableLookups="false"
keystoreFile="F:/tomcat.keystore"
keystorePass="tomcat" />
3. 测试
启动 Tomcat 并访问 https://localhost:8443. 你将看到 Tomcat 默认的首页。
需要注意的是,如果你访问默认的 8080 端口,还是有效的。
4. 配置应用使用 SSL
打开应用的 web.xml 文件,增加配置如下:
<
security-constraint
>
<
web-resource-collection
>
<
web-resource-name
>securedapp</
web-resource-name
>
<
url-pattern
>/*</
url-pattern
>
</
web-resource-collection
>
<
user-data-constraint
>
<
transport-guarantee
>CONFIDENTIAL</
transport-guarantee
>
</
user-data-constraint
>
</
security-constraint
>
将 URL 映射设为 /* ,这样你的整个应用都要求是 HTTPS 访问,而 transport-guarantee 标签设置为 CONFIDENTIAL 以便使应用支持 SSL。
如果你希望关闭 SSL ,只需要将 CONFIDENTIAL 改为 NONE 即可。
Tomcat 的 SSL 配置的更多相关文章
- Tomcat服务器配置https协议(Tomcat HTTPS/SSL 配置)
通常商用服务器使用https协议需要申请SSL证书,证书都是收费的,价格有贵的有便宜的.它们的区别是发行证书的机构不同,贵的证书机构更权威,证书被浏览器否决的几率更小. 非商业版本可以通过keytoo ...
- 如何利用tomcat和cas实现单点登录(1):配置tomcat的ssl和部署cas
如何利用tomcat和cas实现单点登录,借鉴了网上的很多教程,主要分为以下几个步骤: 一:下载好cas,tomcat之后,首先配置tomcat: 用鼠标右键点击"计算机"→选择& ...
- 使用HttpClient发送HTTPS请求以及配置Tomcat支持SSL
这里使用的是HttpComponents-Client-4.1.2 package com.jadyer.util; import java.io.File; import java.io.FileI ...
- Tomcat 7.0配置SSL的问题及解决办法
http://dong-shuai22-126-com.iteye.com/blog/1830209 以前一直在用Tomcat 6.0.29版本,今下载了apache-tomcat-7.0.33- ...
- SSL 通信原理及Tomcat SSL 配置
SSL 通信原理及Tomcat SSL 双向配置 目录1 参考资料 .................................................................. ...
- 【CAS单点登录视频教程】 第03集 -- 配置 tomcat的 ssl
目录 ----------------------------------------- [CAS单点登录视频教程] 第06集[完] -- Cas认证 学习 票据认证FormsAuthenticati ...
- Tomcat SSL配置及Tomcat CA证书安装
Tomcat既可以作为独立的Servlet容器,也可以作为其他HTTP服务器附加的Servlet容器.如果Tomcat在非独立模式下工作, 通常不必配置SSL,由它从属的HTTP服务器来实现和客户的S ...
- Tomcat SSL配置 Connector attribute SSLCertificateFile must be defined when using SSL with APR解决
原文地址:http://blog.csdn.net/kissliux/article/details/17392003 Tomcat 6版本配置SSL过程有两步: 1.用JDK自带的keytool.e ...
- Tomcat (1) —— Mac下配置Tomcat Https/SSL
Tomcat (1) -- Mac下配置Tomcat Https/SSL tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0_65 参考来源: SSL/TLS Config ...
随机推荐
- ScrollView中嵌套两个ListView
做的项目中要使用两个ListView在同一个页面上下显示,因为数据源不同,不能通过在Adapter中设置标志位去区分显示,最后只能硬着头皮做一个ScrollView嵌套两个ListView,但按正常情 ...
- ruby hashtable散列表
dict={'cat'=>'abc','dog'=>'def'}puts dict.size dict.keys返回所有的key, values返回所有的value. 删除: dict.d ...
- javascript外部使用
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Json遇到引号需要转义的问题
首先看一个简单的Json格式的数据: {data:{id:1,text:"this is text",src:"abc/abc/abc.png"},succes ...
- Linux libtins 库安装教程
因为工作原因需要用到libtins网络库, 所以今天去装一下. 很尴尬,由于本人对linux理解比较浅, 所以在中途遇到了一些问题. 虽然只是简单的安装步骤,但是阻挡不了自己菜啊. 一. 下载lib ...
- gmail
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...
- HTML5 移动应用开发环境搭建及原理分析
开发环境搭建: 一.Android 开发平台搭建 安装java jdk:\\10.194.151.132\Mewfile\tmp\ADT 配置java jdk 1) 新建系统变量,JAVA_HOME ...
- git diff old mode 100755 new mode 100644
755 vs 644 在linux下载了Qt的软件仓库,拷贝了一份到windows下.在 msysgit 下,发现所有的文件都被修改了. 用 git diff 查看,发现是: $ git diff u ...
- 虚拟机之仅主机模式(HostOnly)链接外网设置
我的环境: 虚拟机-VMware 虚拟系统-CentOS 现实主机-win7 具体设置步骤: 一.设置现实主机 (地址等不用额外设置,下面是我电脑正常上网的配置) 将本地链接设置共享(这步很重要) 二 ...
- HDU 4722 Good Numbers
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4722 Good Numbers Time Limit: 2000/1000 MS (Java/Othe ...