关于SpringBoot项目手动配置SSL实现Https(解决混合问题)

问题描述

在进行项目部署的时候,目前我们的前端往往都会以https的方式运行,如果后端项目没有进行SSL配置继续使用http协议,会导致“已阻止加载混合活动内容“http://地址:端口/接口””问题的出现,为了解决这个问题,我们需要对后端项目进行SSL证书的配置,以开启https模式

说明

我们需要注意到的是,在项目上线时,SSL证书是需要进行申请的,通常一张SSL证书是可以配置前端以及后端的(前后端共用一张SSL证书是可以的)

解决方案

最简单快速的方法就是在application.yml中进行SSL配置设置,不过在我遇到的问题中application.yml文件没有被扫描到,所以在本案例中我们可以编写一个utils方法来进行手动注册:

首先将你的SSL证书中以’JKS’为后缀的文件放到resources资源文件夹下(不需要新建目录),

然后在src/utils下新建sslConfig:

@Configuration
public class sslConfig {

    private String keyStore= "classpath:证书名称.jks";

    private String keyStorePassword="密码";


    @Bean
    public TomcatServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
        tomcat.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> {
            connector.setScheme("https");
            connector.setSecure(true);
            connector.setPort(8080);  //你后端的端口号是什么

            connector.setAttribute("SSLEnabled", true);
            connector.setAttribute("keystorePass", keyStorePassword);
            connector.setAttribute("keystoreFile", keyStore);
        });
        return tomcat;
    }
}

在以上配置完成后,我们运行该项目,如果控制台出现以下内容就是成功了:

INFO 19360 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (https) with context path ''

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值