Spring Boot Undertow 配置 https

升级 https 记录

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

购买的证书

2、下载证书

下载证书

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

JKS证书安装

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

生成 jks 证书

此处我已改名为 any.jks

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

移动证书

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

image.png

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

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

@Configuration
public class SslConfig {

    @Bean
    public EmbeddedServletContainerFactory servletContainer() {

        UndertowEmbeddedServletContainerFactory undertowFactory = new UndertowEmbeddedServletContainerFactory();
        undertowFactory.addBuilderCustomizers(new UndertowBuilderCustomizer() {

            @Override
            public void customize(Undertow.Builder builder) {
                builder.addHttpListener(80, "0.0.0.0");
            }

        });
        return undertowFactory;
    }

}

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,886评论 18 139
  • 服务器https配置 配置https操作说明文档 1、查看服务器环境配置(tomcat和apache合并使用) 2...
    南京杨小兵阅读 8,919评论 0 9
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,946评论 6 342
  • HTTPS介绍 超文本传输安全协议(英语:Hypertext Transfer Protocol Secure,缩...
    齐滇大圣阅读 8,985评论 8 96
  • 什么是落地? 从 “知道” 到 “做到” 到 “做好” 从 “输入” 到 “消化” 到 “生发” 从 “老板” 到...
    玖零股份李杰阅读 250评论 0 0