SSL域名访问SpringBoot打成jar的项目

2022-07-14 08:09:42

前言

由于小程序发布上线,请求域名必须是Https,后台是SpringBoot项目,打成jar包,如何通过SSL域名访问项目呢?

一、对HTTP 与 HTTPS 的认识?

        两者都是网络协议,区别是HTTP协议传输数据是未加密的,也就是明文的,在传输隐私信息不安全,为了保证这些隐私数据能安全传输,通过加上SSL协议,对数据加密,就是HTTPS。

二、如何配置SSL实现域名访问jar项目

1.申请SSL证书

目前阿里云官网提供免费的证书,可在项目使用。如果是商业化项目,建议购买证书。

2.项目配置

由于是jar发布,不能直接将tocmat配置方式来处理。需要在Spingboot的Application启动类注入一个@Bean,就可以达到同样的效果,示例代码如下

    @Bean
    public ServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
        tomcat.addAdditionalTomcatConnectors(createHTTPConnector());
        return tomcat;
    }
 
    private Connector createHTTPConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        connector.setSecure(false);
        connector.setPort(8008);
        connector.setRedirectPort(443);
        return connector;
    }

接下来需要在yaml文件,加上如下配置

server:
  port: 8090
  servlet:
    context-path: /api
  tomcat:
    uri-encoding: UTF-8
  ssl:
    key-store: xx.pfx ##证书的路径
    key-store-password: 密码  ## 证书密码

总结

        你学会了吗?不会的,欢迎评论区留言。

  • 作者:程序员的成长之道
  • 原文链接:https://blog.csdn.net/qq_38132901/article/details/123287448
    更新时间:2022-07-14 08:09:42