1、使用jdk自带工具生成证书:

keytool -genkeypair -help
keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "D:\keytest\tomcat.keystore"


第一个命令是参数详解

名字和姓氏请填写自己要部署的机器的域名或者ip

密码请自行记住


2、修改tomcat server.xml

<Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>
<Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="443"/>

<Connector SSLEnabled="true" clientAuth="false" keystoreFile="D:/keytest/tomcat.keystore" keystorePass="123456" maxThreads="150"
port="443" protocol="org.apache.coyote.http11.Http11Protocol" scheme="https" secure="true" sslProtocol="TLS"/>

<Connector port="8009" protocol="AJP/1.3" redirectPort="443"/>


keystorePass是你刚才填的密码,keystoreFile是你证书的路径,443是默认的https访问端口,这里的80则是默认的http访问端口,这个端口也是要配置的,不然你的tomcat在eclipse中启动完毕了还会一直等待。


3、修改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>


如此,所有的http请求也会自动为https请求了。