公司给了一个通配符证书,包含:两个 .cer 证书,一个pfx文件,和一个 .key 文件。
如何配置tomcat,才能正常访问https
一、使用java jdk将PFX格式证书转换为JKS格式证书
先切换到pfx证书目录下,执行命令:
keytool -importkeystore -srckeystorewww.dongnaoedu.com_ssl.pfx -destkeystoredomains.jks -srcstoretype PKCS12 -deststoretype JKS
这里要输入密码,就是上面www.dongnaoedu.com_pfx_password.txt文本文件中的密码,3个口令最好都输入这个密码。可以看到文件夹中生成了domains.jks证书
二、配置server.xml
先把domains.jks证书上传到Tomcat的conf文件夹下:
执行命令: cd /usr/tomcat/apache-tomcat-8.5.11/conf
vim server.xml
找到
去掉注释,修改为:(443为https默认访问端口)
maxThreads="150" scheme="https" secure="true"
keystoreFile="conf/domains.jks" //证书地址
keystorePass="582629" //证书密钥
clientAuth="false" sslProtocol="TLS" />
为了让http访问自动跳转为https访问这里顺便把这两个标签也改了,
找到
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改为:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
找到
修改为:
保存退出。
三、配置web.xml
执行命令: vim web.xml
在该文件标签(一般在文件最末尾)后面加上这样一段:
<!-- Authorization setting for SSL -->
CLIENT-CERT
Client Cert Users-only Area
<!-- Authorization setting for SSL -->
SSL
/*
CONFIDENTIAL
保存退出。所有配置完毕。重启Tomcat即可。证书生效,并且http访问会自动转为https访问。
配置SSL连接器,将www.domain.com.jks文件存放到conf目录下,然后配置同目录下的server.xml文件:
maxThreads="150" scheme="https" secure="true"
keystoreFile="conf\www.domain.com.jks"
keystorePass="changeit"
clientAuth="false" sslProtocol="TLS" />
2. 到conf目录下的web.xml。在</welcome-file-list>后面,</web-app> 前面,也就是倒数第二段里,加上这样一段即可:
<!-- Authorization setting for SSL -->
CLIENT-CERT
Client Cert Users-only Area
<!-- Authorization setting for SSL -->
SSL
/*
CONFIDENTIAL