windows server 2008 r2 + tomcat7 + SSL实现https

自己想弄个SSL证书,在腾讯云服务器申请了免费的SSL证书,跟着腾讯的SSL安装步骤走了一大圈,做了一大堆无用功,花了一天半的时间研究,很烦躁。弄的服务器乱七八糟的,服务器都重装了。终于在今晚弄好,所以上来唠叨唠叨。希望对以后的服务器小白会有些许帮助。不足的地方大家多多提出,欢迎讨论批评。

1、首先下载已经申请好的证书

 

2、解压到任意的文件夹,会得到如下文件(也不一定,看你的证书,我的证书是在腾讯云申请的免费证书)

 

注意,我们虽然用的tomcat,但不用tomcat文件夹下的文件,用到的是IIS文件夹下的PFX文件

3、PFX证书安装

找到安装Tomcat目录下该文件server.xml,一般默认路径都是在 conf 文件夹中。

找到port=8443的Connector,修改如下

<Connector port=“443” protocol=“org.apache.coyote.http11.Http11Protocol” SSLEnabled=“true”

maxThreads=“150” scheme=“https” secure=“true”

clientAuth=“false” sslProtocol=“TLS”

SSLProtocol=“TLSv1.2”

SSLCipherSuite=“ECDHE-RSA-AES128-GCM-SHA256:ECDH:AES:HIGH:!aNULL:!MD5:!ADH:!DH”

keystoreFile=“C:\ssl\21312323290408.pfx”

keystoreType=“PKCS12”

keystorePass=“21312323290408”/>

注意:替换keystoreFile和keystorePass为你的。keystoreFile就是你的pfx文件的路径,建议放到与server.xml同级。

keystorePass就是IIS文件夹下的keystorePass.txt的内容

把对应的其他的Connector对应的redirectPort改为上面的port的值,如上面的443,443是https的默认值,就如同tomcat的80端口

 

4、上面完成后,访问https和http都能访问了,但http访问不会重定向到https,下面的代码帮我们做到重定向

在web.xml末尾加上如下配置:

<security-constraint>

<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>

CLIENT-CERT认证一种基于客户端证书的认证方式,比较安全。但缺陷是在没有安全证书的客户端无法使用。

security-constraint元素是一种计算机函数,允许不通过编程就可以限制对某个资源的访问,在大多数情况下,安全套接字层(SSL)用于INTEGRAL或CONFIDENTIAL,标识需要限制访问的资源子集。

web-resource-collection元素标识需要限制访问的资源子集。在web-resource-collection元素中,可以定义URL模式和HTTP方法。如果不存在HTTP方法,就将安全约束应用于所有的方法。

web-resource-name是与受保护资源相关联的名称。http-method元素可被赋予一个HTTP方法,比如GET和POST。

url-pattern是将安全约束用在设定的匹配URL上。

auth-constraint元素用于指定可以访问该资源集合的用户角色。如果没有指定auth-constraint元素,就将安全约束应用于所有角色。

user-data-constraint元素用来显示怎样保护在客户端和Web容器之间传递的数据。

transport-guarantee元素必须具有如下的某个值:

NONE,这意味着应用不需要传输保证。

INTEGRAL,意味着服务器和客户端之间的数据必须以某种方式发送,而且在传送中不能改变。

CONFIDENTIAL,这意味着传输的数据必须是加密的数据。

一般来说,如果需要同时兼容HTTP与HTTPS访问的话,在web.xml里不设置以上内容即可,但是如果需要强制转换的话,按上面的示例设置即可。

到此为止,重启tomcat,http访问会重定向到https。

 

再次感谢 闪耀的瞬间 和  彭珂个人网 两位大佬的博客!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值