WINDOWS 中 TOMCAT8 使用APR以及HTTPS自签名证书

配置环境

  • win 7
  • tomcat8

HTTP使用APR

1、下载apr,到官网 http://tomcat.apache.org/download-native.cgi  下载最新的apr

2、根据你tomcat使用的JDK版本(32位还是64位)复制相应的“tcnative-1.dll” 到你的jdk的bin目录下(如果tomcat指向的是jre就放到jre的bin目录下)

3、打开Tomcat下conf/server.xml,修改 protocol="org.apache.coyote.http11.Http11AprProtocol"

<Connector port="80" 
    executor="tomcatThreadPool" 
    protocol="org.apache.coyote.http11.Http11AprProtocol"
    maxHttpHeaderSize="8192"
redirectPort="443" />

4、重启查看控制台打出

就算是配置成功了

HTTPS使用APR

刚才下载的文件夹里面有个openssl.exe可以用来生成ssl验证文件,步骤如下:

1、生成key(我这里使用的server.key,你可以根据需要使用其他名称),生成密码文件有2种方式,2种都可以正常使用

  •  生成不带密码的key
openssl genrsa -out server.key 2048
  • 生成带密码的key
openssl genrsa -des3 -out server.key 2048

我使用的是不带密码的key,两种的区别在于,带密码的key在每次启动tomcat的时候会要求你输入密码,不带密码的不需要,牺牲的是什么就不用我说了

2、生成crt,(server.crt,你可以根据需要使用其他名称;3650是过期天数,根据你自己的需求来设置)

openssl req -new -x509 -days 3650 -key server.key -out server.crt

3、复制server.key和server.crt到tomcat的bin目录(你也可以复制到其他路径,后面配置的时候写全路径就可以)

4、修改conf/server.xml ,主要是修改protocol="org.apache.coyote.http11.Http11AprProtocol"和增加ssl验证文件

  • 你的server.key和server.crt没有复制到bin目录下时要这样写
<Connector port="443" 
	protocol="org.apache.coyote.http11.Http11AprProtocol"
        maxThreads="150" 
	SSLEnabled="true" 
	scheme="https" 
	secure="true" 
        clientAuth="false" 
	sslProtocol="TLS"
	SSLCertificateFile="你的server.crt所在文件夹全路径/server.crt"
        SSLCertificateKeyFile="你的server.key所在文件夹全路径/server.key"/>
  • 你可以在你的tomcat目录下新建一个ssl文件夹把server.key和server.crt放在下面,然后这样写
<Connector port="443" 
	protocol="org.apache.coyote.http11.Http11AprProtocol"
        maxThreads="150" 
	SSLEnabled="true" 
	scheme="https" 
	secure="true" 
        clientAuth="false" 
	sslProtocol="TLS"
	SSLCertificateFile="ssl/server.crt"
        SSLCertificateKeyFile="ssl/server.key"/>

5、在conf/web.xml里面增加如下

<!-- SSL登陆 -->
<login-config>
	<auth-method>CLIENT-CERT</auth-method>
	<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<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>

6、重启tomcat 看到如下 即成功

其他说明

这种方式生成的ssl证书,不能通过微信的验证,如果需要还是要去申请第三认证的CA证书

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值