SpringBoot添加SSL证书的方法

网友投稿 413 2022-10-24


SpringBoot添加SSL证书的方法

一、先进行域名的购买

域名购买完毕,进行DNS的解析,我用的是阿里云的,服务器与域名都同时使用的阿里云

记录值这里填你的服务器的IP 地址

二、申请SSL证书

阿里云提供免费的SSL证书,一个人可以申请20个

找到这里

提交获取

然后进行证书的申请

填个人信息,填完一步步保存提交后,证书申请会需要绑定DNS解析

我的是阿里云的,直接去DNS控制台添加就行,你们的根据自己的去相应的添加

记录值改为TXT,主机记录跟记录值,直接复制给的就行

显示这样说明成功

然后根据自己的需要选择证书的下载

这里我用的是SpringBoot项目里面内置了tomcat所以下载了tomcat的

下载得到一个压缩包,解压后得到一个密钥跟密码(txt里面的是密码)

三、转换

找到jdk的安装目录进入bin,用管理员身份运行命令行窗口

输入

keytool -importkeystore -srckeystore latteitcjz.pfx -destkeystore latte.jks -srcstoretype PKCS12 -deststoretype JKS

#latteitcjz.pfx为你下载的证书的目录和名字

#新生成的名字latte.jks

输入两次一样的密码也就是txt文件里面的密码

然后会生成一个别名记得别名的名字

四、配置项目

将上面生成的latte.jks复制到resources目录下与application.yml同级,然后进行application的配置

server:

ssl:

key-store: classpath:latte.jks

#这里是配置你刚才部署在resources下的".jks"文件

key-password: latte #这里是你解压后的"jks-password.txt"文件中的密码

key-store-type: JKS

key-alias: alias

key-store-password: latte #注意一定配这个密码,不要只配上面的,不然会报keystore password was incorrect

#密钥口令和密钥库口令一致

port: 443

http:

port: 90

在启动类,添加以下的代码

@Bean

public ServletWebServerFactory servletContainer() {

TomcatShttp://ervletWebServerFactory tomcat = new TomcatServletWebServerFactory() {

@Override protected void postProcessContext(Context context) {

SecurityConstraint securityConstraint = new SecurityConstraint();

securityConstraint.setUserConstraint("CONFIDENTIAL"); SecurityCollection collection = new SecurityCollection(); collection.addPattern("/*");

securityConstraint.addCollection(collection);

context.addConstraint(securityConstraint); } };

tomcat.addAdditionalTomcatConnectors(redirectConnector()); return tomcat;

}

@Bean

public Connector redirectConnector() {

Connector connector = newhttp:// Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL);

connector.setScheme("http");

//监听90端口

connector.setPort(90);

connector.setSecure(false);

//重定向与443

//一个服务器只有一个443端口,注意d

connector.setRedirectPort(443);

return connector;

启动看看,如果报443端口占用问题,可能是你电脑安装有虚拟机,虚拟机vm那个占用了

打开命令行窗口

netstat -aon|findstr “443” ,

看有没有占用的,如果有

kill它: tasklist |findstr “进程号”

如果杀不掉,打卡任务管理器找到该进程号,结束任务,没有问题后,上传服务器测试就行


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:CentOS 7安装IDS/IPS安全监测工具(Snorby+Barnyard2+Suricata)
下一篇:linux下网卡bonding配置
相关文章

 发表评论

暂时没有评论,来抢沙发吧~