查看原文
其他

SpringBot中教你手把手配置 https

SpringForAll社区 SpringForAll社区 2021-05-26
点击上方☝SpringForAll社区,轻松关注!
及时获取有趣有料的技术文章

升级 https 记录

1、去阿里云购买证书(免费版),并提交审核资料

img

购买的证书

2、下载证书

img

下载证书

3、查看上图页面的第三步

img

JKS证书安装

4、在证书目录下执行阿里云提供的命令,密码都填 pfx-password.txt 中的内容(三次),会生成 your-name.jks 文件。

img

生成 jks 证书

此处我已改名为 any.jks

5、将 any.jks 复制到 spring boot 应用的 resources 目录下

img

移动证书

6、在 application.yml 中配置证书及端口,密码填写第四步中的密码

img

image.png

此配置会使 Undertow 容器监听 443 端口,那么只有在域名前添加 https:// 才能访问网站内容,添加 http:// 则不行,所以需要让 Undertow 容器监听 80 端口,并将 80 端口的所有请求重定向到 443 端口,即完成 http 到 https 的跳转。

7、添加 SslConfig.java ,配置 Undertow 监听 80 端口。

1@Configuration
2public class SslConfig {
3
4    @Bean
5    public EmbeddedServletContainerFactory servletContainer() {
6
7        UndertowEmbeddedServletContainerFactory undertowFactory = new UndertowEmbeddedServletContainerFactory();
8        undertowFactory.addBuilderCustomizers(new UndertowBuilderCustomizer() {
9
10            @Override
11            public void customize(Undertow.Builder builder) {
12                builder.addHttpListener(80"0.0.0.0");
13            }
14
15        });
16        return undertowFactory;
17    }
18
19}

8、在 Spring Security 中配置 80 端口到 443 端口的映射 【待完善】

至此,重新打包应用,重新发布应用,即完成了 http 到 https 的升级, https 能让网站更安全,有兴趣的试试吧。

© 著作权归作者所有,转载或内容合作请联系作者


● 【双11狂欢的背后】微服务注册中心如何承载大型系统的千万级访问?

● Spring Boot 新一代监控你该这么玩

● Spring Boot 异常处理

● Spring Boot 配置 - 配置信息加密

● 拒绝黑盒应用-Spring Boot 应用可视化监控

● 并发Bug之源有三,请睁大眼睛看清它们


如有收获,请帮忙转发,您的鼓励是作者最大的动力,谢谢!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存