tomcat怎么配置https
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat怎么配置https相关的知识,希望对你有一定的参考价值。
环境:1.Java 1.6
2.tomcat 6_0_26
---------------------------------------------------------------------------------------------------------------------------
生成安全证书:
1.Java环境:因为SUN公司提供了制作证书的工具keytool。
在JDK 1.4以后的版本中都包含了这一工具,它的位置为<JAVA_HOME>\bin\keytool.exe。
2.创建证书的命令:
Cmd代码 收藏代码
keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "f:\tomcat.keystore"
参数的意思如下:
这里密码我输的是tomcat,名字与姓氏为域名,其它的根据具体情况输入
以上命令将生产一对非对称密钥和自我签名的证书f:\tomcat.keystore.
将证书保存到你要存放的地方,我的保存在D:\Tools\Web\ssl\tomcat.keystore
注意:“名字与姓氏”应该是域名,输成了姓名,和真正运行的时候域名不符,会出问题
---------------------------------------------------------------------------------------------------------------------------
配置tomcat:
定位到tomcat的安装目录,找到conf下的server.xml文件
找到如下已经被注释的代码:
Xml代码 收藏代码
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
去掉注释,修改为:
Xml代码 收藏代码
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="D:\Tools\Web\ssl\tomcat.keystore"
keystorePass="tomcat"
ciphers="tomcat"/> 参考技术A 在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。SSL目前的版本是3.0,被IETF(Internet Engineering Task Force)定义在RFC 6101中,之后IETF对SSL 3.0进行了升级,于是出现了TLS(Transport Layer Security) 1.0,定义在RFC 2246。实际上我们现在的HTTPS都是用的TLS协议,但是由于SSL出现的时间比较早,并且依旧被现在浏览器所支持,因此SSL依然是HTTPS的代名词,但无论是TLS还是SSL都是上个世纪的事情,SSL最后一个版本是3.0,今后TLS将会继承SSL优良血统继续为我们进行加密服务。目前TLS的版本是1.2,定义在RFC 5246中,暂时还没有被广泛的使用。 参考技术B Tomcat 安装SSL证书:https://www.gworg.com/ssl/109.html
tomcat 自动跳转到HTTPS:https://www.gworg.com/ssl/132.html
注意:前提条件确保有正规的HTTPS证书,如果没有可以淘宝Gworg获取一个。本回答被提问者采纳
tomcat怎么把http改为https
Gworg拿到JKS证书,然后按照tomcat文档配置SSL证书就可以了。
第一步: 进入Tomcat安装目录, d:/apache-tomcat-8.0.18, 把下载的jks文件放在tomcat安装目录即可。
d:/apache-tomcat-8.0.18/gworg.com.jks
第二步: 打开tomcat配置文件 conf/server.xml
tomcat默认一般是8080端口或者 80端口,先找到这一段。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
在这段下面插入下面配置:
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="gworg.com.jks" keystorePass="123456" />
keystoreFile=”gworg.com.jks” 【 jks 文件名需要修改】
keystorePass=”123456″ 【jks密码】
tomcat http跳https需要做两个地方改动。
1:server.xml 中配置ssl证书的端口要改成默认的“443”端口,如果已经修改,请直接操作第二步;
2:在web.xml配置文件中添加节点代码:如下
<web-app>
.........
<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>
</web-app>
3:回到server.xml 配置文件中找到80端口的节点,里面有默认这个属性是 redirectPort="8443" 要改成 “443” 保存重启即可。
4、说明一下,不知道你用的是自签名SSL证书还是什么?我用的wosign免费SSL证书。本回答被提问者采纳
以上是关于tomcat怎么配置https的主要内容,如果未能解决你的问题,请参考以下文章