这里省略掉阿里云下载tomcat ssl https协议
下载之后解压的压缩包文件如图:
第一个文件.pfx是证书文件,第二个是证书文件的秘钥
(如果不需要将该证书认证存放在本地,则不需要点开证书文件,)
下一步就是将证书文件放在自己项目中
再下一步就是在配置文件.properties中填写配置
server.port 是发放的端口号
server.ssl.key-store是证书文件名称
server.ssl.key-password 是之前解压pfx-password.txt文件的内容
server.ssl.key-store-type 是该证书文件的加密算法类型
{注意:如果您的jdk是1.8及以下版本在部署https时,应该用.jks证书文件;如果您的jdk是1.9及以上,则用.pfx证书文件。
科普一下:java8及以下默认秘钥库类型是JKS ,从Java 9开始,PKCS12是默认的密钥库类型。这一变化是针对JEP 229 的目标:“提高安全性.PKCS12提供比JKS更强大的加密算法。
如果您用的是java8及以下就用.jks证书文件吧,我将会在后面写到 .pfx转换为.jks证书文件。}
若想将http 80端口自动跳转到htts,则在主方法中添加下面代码。
//配置http转https
@Bean
public Connector httpConnector() {
Connector connector = new Connector(TomcatEmbeddedServletContainerFactory.DEFAULT_PROTOCOL);
connector.setScheme("http");
//Connector监听的http的端口号
connector.setPort(80);
connector.setSecure(false);
//监听到http的端口号后转向到的https的端口号
connector.setRedirectPort(443);
return connector;
}
//这里设置默认端口为443,即https的,如果这里不设置,会https和http争夺80端口
public void customize(ConfigurableEmbeddedServletContainer container) {
container.setPort(443);
}
到此部署完成,运行访问即可。
.pfx文件转.jks文件:
将之前解压的pfx证书文件复制到jdk的bin目录下
打开cmd进入jdk的bin目录下,键入:keytool -importkeystore -srckeystore 2068544_jinxin.sjyweixin.cn.pfx -srcstoretype pkcs12 -destkeystore 2068544_jinxin.sjyweixin.cn.jks -deststoretype JKS
您只要修改红字部分,回车,输入秘钥库口令即可成功导入,可在jdk的bin目录下查看转换后的jks证书文件
当部署https,访问域名时出现: ERR_SSL_VERSION_OR_CIPHER_MISMATCH
则可能就是因为上文 红字注意 部分导致的。