环境准备
为了成功配置https,你需要具备以下环境:
java jdk
tomcat
JKS格式证书生成
打开你的终端或命令行,输入:
keytool -genkey -v -alias testKey -keyalg RSA -validity 3650 -keystore D:/tomcat/ssl/test.keystore
命令解释:
alias: 别名 这里我起名testKey
keyalg: 证书算法,RSA
validity:证书有效时间,10年
keystore:证书生成的目标路径和文件名,替换成你自己的路径即可,我定义的是D:/tomcat/ssl/test.keystore
回车,然后会让你输入一些信息,其中秘钥库口令和秘要口令最好输入同一个
tomcat的conf目录下,打开server.xml文件进行配置
去掉注释,并将keystoreFile和keystorePass处替换成你自己的证书路径和生成证书时的口令即可.
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="你的keystore路径" keystorePass="生成证书时的口令" />
在conf/catalina.properties中最后添加
tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}
org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
relaxedPathChars="[\]^`{|}" relaxedQueryChars="[\]^`{|}"
测试
双击startup.bat打开tomcat,在浏览器输入https://localhost:8443/,出现以下画面配置成功