springboot使用https

1、获得https的证书。

途径:
1、自己使用openssl生成自签证书。
2、到freessl网站可以免费申请90天到期证书。
https://freessl.org/#
步骤:
填入自己的域名

图片.png

选择日期
图片.png

自动生成CSR
图片.png

选择免费
图片.png

使用DNS验证
图片.png

域名没问题DNS验证会给你一个,域名以及key,key-value。

来到云服务器控制台选择域名选项,如阿里云
首先来到域名解析


图片.png

添加记录


图片.png

修改记录选CNAME
主机记录填入key
解析线路选择境外

记录值key-value


图片.png

然后点击verify domain,完成验证,因为是外网验证的时候翻一下,否则会验证失败。
图片.png

点击下载证书
图片.png

解压后得到
图片.png

3、到对应云服务中进行ssl证书申请。

2、不同服务器需要不同类型的证书文件。使用keyManager来生成

https://www.keymanager.org/
因为springboot使用嵌入式的tomcat我们需要获得tomcat对应证书文件。我们下载好keymanager。
导入获取的证书文件,全选所有进行导入。

导入文件.png

图片.png

点击导出得到jks后缀的文件,私钥加密密码随便输入一个。


图片.png

最后得到jks文件


图片.png

3、对springboot进行相关配置

把jks文件放入resource文件夹下
对application.yml进行配置

server:
  port: 9100
  ssl:
    enabled: true
    key-store: classpath:***.jks
    key-store-type: JKS
    key-store-password: ***

在springboot启动类中配置自动从http跳转https

    @Bean
    public TomcatServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
            @Override
            protected void postProcessContext(Context context) {
                SecurityConstraint constraint = new SecurityConstraint();
                constraint.setUserConstraint("CONFIDENTIAL");
                SecurityCollection collection = new SecurityCollection();
                collection.addPattern("/*");
                constraint.addCollection(collection);
                context.addConstraint(constraint);
            }
        };
        tomcat.addAdditionalTomcatConnectors(httpConnector());
        return tomcat;
    }

    @Bean
    public Connector httpConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        //Connector监听的http的默认端口号
        connector.setPort(8080);
        connector.setSecure(false);
        //监听到http的端口号后转向到的https的端口号,也就是项目配置的port
        connector.setRedirectPort(9100);
        return connector;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容