目录
  1. 1. 去阿里云购买证书(免费版),并提交审核资料
  2. 2. 下载证书
  3. 3. 查看上图页面的第三步
  4. 4. 在证书目录下执行阿里云提供的命令,密码都填 pfx-password.txt 中的内容(三次),会生成 your-name.jks 文件。
  5. 5. 将 any.jks 复制到 spring boot 应用的 resources 目录下
  6. 6. 在 application.yml 中配置证书及端口,密码填写第四步中的密码
  7. 7. 添加 SslConfig.java ,配置 Undertow 监听 80 端口。
SpringBoot中教你手把手配置https

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

20191109221820.png

下载证书

20191109222913.png

查看上图页面的第三步

20191109223014.png

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

20191109223107.png
此处我已改名为 any.jks

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

20191109223245.png

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

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

添加 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;
}

}
  1. 在 Spring Security 中配置 80 端口到 443 端口的映射
      至此,重新打包应用,重新发布应用,即完成了 http 到 https 的升级, https 能让网站更安全,有兴趣的试试吧。
文章作者: Gadfly
文章链接: https://blog.gadfly.pub/2019/11/09/cheng-xu-she-ji/springboot-zhong-jiao-ni-shou-ba-shou-pei-zhi-https/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 牛虻的世界
打赏
  • 微信
  • 支付寶

评论