tomcat ssl配置

[size=large][b]KeyStore模式[/b][/size]
直接用java里的keytool工具生成一个keystore文件,然后直接用这个文件启用https就可以了。
方法如下:
命令行执行%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
执行过程中会询问你一些信息,比如国家代码,省市等,其中需要填写两个密码,一次在开头,一次在最后,请保持两个密码相同。比如,将密码都设成s3cret。

执行完成后会在当前用户目录下生成一个.keystore文件
打开conf目录下的server.xml文件,找到以下这一段

<!--
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->

修改为

<Connector SSLEnabled="true" acceptCount="100" clientAuth="false" disableUploadTimeout="true"
enableLookups="false" keystoreFile="C:/Users/Administrator/.keystore"
keystorePass="s3cret" maxThreads="25" port="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https"
secure="true" sslProtocol="TLS"/>

之后启动tomcat就可以了,通过https方式访问8443端口,就能看到效果。如果用http访问之前的端口,那么还是普通的未加密连接。

到这里问题来了,我的目的是启用https,但现在http还能访问,那么就可以绕开https。https也就起不了什么作用了。因此要强制访问https。
打开你的web应用的web.xml文件,在最后加上这样一段

<security-constraint>
<web-resource-collection>
<web-resource-name>hello</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>



[size=large][b]Openssl生成ssl证书[/b][/size]
参看[url=http://ontheroad-luckhouge.iteye.com/admin/blogs/2245482]使用openssl创建ssl证书 [/url]

server.xml配置如下

<Connector
protocol="org.apache.coyote.http11.Http11AprProtocol"
port="443" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
SSLCertificateFile="server.crt"
SSLCertificateKeyFile="server.key"
SSLPassword="s3cret"
SSLVerifyClient="false" SSLProtocol="TLSv1"/>


[url=http://www.blogjava.net/tinguo002/archive/2014/07/17/415939.html?utm_source=tuicool]tomcat apr安装[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值