SpringBoot添加SSL证书的方法
一、先进行域名的购买
域名购买完毕,进行DNS的解析,我用的是阿里云的,服务器与域名都同时使用的阿里云
记录值这里填你的服务器的IP 地址
二、申请SSL证书
阿里云提供免费的SSL证书,一个人可以申请20个
找到这里
提交获取
然后进行证书的申请
填个人信息,填完一步步保存提交后,证书申请会需要绑定DNS解析
我的是阿里云的,直接去DNS控制台添加就行,你们的根据自己的去相应的添加
记录值改为TXT,主机记录跟记录值,直接复制给的就行
显示这样说明成功
然后根据自己的需要选择证书的下载
这里我用的是SpringBoot项目里面内置了tomcat所以下载了tomcat的
下载得到一个压缩包,解压后得到一个密钥跟密码(txt里面的是密码)
三、转换
找到jdk的安装目录进入bin,用管理员身份运行命令行窗口
输入
keytool -importkeystore -class="lazy" data-srckeystore latteitcjz.pfx -destkeystore latte.jks -class="lazy" data-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() {
TomcatServletWebServerFactory 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 = new 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 “进程号”
如果杀不掉,打卡任务管理器找到该进程号,结束任务,没有问题后,上传服务器测试就行
到此这篇关于SpringBoot添加SSL证书的方法的文章就介绍到这了,更多相关SpringBoot SSL证书内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341