Spring Boot配置ssl证书

一、申请有权威的SSL证书

在各大云服务商都可以申请到SSL官方证书。
我这里是在阿里云上申请的,申请后下载,解压。如图:

二、用JDK中keytool是一个证书管理工具,压缩成tomcat所支持的.jks

1、打开你安装的jdk目录下

2、打开dos命令框(命令提示符)

2.1、进入JDK所在的盘符,我的是D盘
2.2、进入JDK下的bin目录
2.3、输入这条命令(输入之前先修改:D:\https\214215109110451\214215109110451.pfx 部分是你下载的证书pfx所在路径,520oo.jks是自己命名的jks文件)

keytool -importkeystore -srckeystore D:\https\214215109110451\214215109110451.pfx -destkeystore 520oo.jks -srcstoretype PKCS12 -deststoretype JKS

2.4、输入密码,三次输入的密码都要和解压的证书里密码一致,不一致有可能出错。
2.5、记下别名:alias

2.6、在bin目录下找到 jks文件(复制到项目的application.properties同级目录)

三、修改Spring Boot的application.properties

#https加密端口号 443
server.port=443
#SSL证书路径 一定要加上classpath:
server.ssl.key-store=classpath:520oo.jks
#SSL证书密码
server.ssl.key-store-password=214215109110451
#证书类型
server.ssl.key-store-type=JKS
#证书别名
server.ssl.key-alias=alias

四、修改启动类,让http重定向到https

XXXApplication.java

import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.context.annotation.Bean;@SpringBootApplicationpublic class WebchatApplication  {public static void main(String[] args) {SpringApplication.run(WebchatApplication.class, args);}/*** http重定向到https*@return*/@Beanpublic TomcatServletWebServerFactory servletContainer() {TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {@Overrideprotected 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;}@Beanpublic Connector httpConnector() {Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");connector.setScheme("http");//Connector监听的http的端口号connector.setPort(8080);connector.setSecure(false);//监听到http的端口号后转向到的https的端口号connector.setRedirectPort(443);return connector;}
}

然后大功告成,有了绿色的小锁,下面是效果:

Spring Boot配置ssl证书相关推荐

  1. 详解HTTPS通信流程,使用JDK,openssl,XCA进行证书认证详细操作,Spring Boot配置SSL证书实操

    这里写目录标题 HTTPS SSL 通信流程 HTTPS一般使用的加密与HASH算法如下: 1.JDK JDK中自带keytool工具便携生成SSL证书,其代码参数如下 整合到spring boot项 ...

  2. Spring Boot配置SSL实现https请求

    Spring Boot配置SSL实现https请求 1. 生成SSL证书 专业的SSL证书较为昂贵,可以在腾讯云或者阿里云上申请免费的SSL证书. 如果只是做简单的demo,可以使用java自带的ke ...

  3. Spring Boot 配置SSL 实现HTTPS

    文章目录 1. 简介 2. 证书生成 3. 证书引入 4. 创建测试index 5. 配置 6. 创建配置类 7. 创建控制器测试 8. 浏览器验证 1. 简介 传输层安全性协议(英语:Transpo ...

  4. Spring Boot项目配置ssl证书及自定义ssl端口号

    好吧,一切不带s的http裸奔都是耍流氓. 我们知道在一个Web服务器(e.g. Tomcat, Websphere, Nginx)上配置ssl证书很容易,那么如何在SpringBoot这种内嵌了服务 ...

  5. Spring Boot 配置 HTTPS 访问

    Spring Boot 配置 HTTPS 访问 相关代码 生成证书 创建新证书 keytool -genkeypair -alias hellowood -keyalg RSA -keysize 20 ...

  6. Spring Boot RestTemplate 忽略证书访问https

    在Spring Boot中,RestTemplate 一般使用 @Autowired 注解自动装配, 类似: @Autowiredprivate RestTemplate restTemplate; ...

  7. Spring Boot配置Tomcat容器、Jetty容器、Undertow容器

    Spring Boot配置Tomcat容器.Jetty容器.Undertow容器 Tomcat.Jetty.Undertow Tomcat概述 Jetty概述 Undertow概述 Spring Bo ...

  8. Spring Boot配置log4j记录日志

    转载请注明出处:Spring Boot配置log4j记录日志 我们在老的项目框架ssh,springMVC中都使用过log4j日志模块. 例如:java日志功能log4j模块的使用方法 Spring ...

  9. SpringBoot项目配置SSL证书微信小程序jar包

    本文主要针对SpringBoot微信小程序jar包运行的项目如何配置SSL证书. 关于域名:请确定域名已经获得ICP备案,服务器对外端口开放. 根据⼩程序官⽅⽂档描述,微信⼩程序的wx.request ...

最新文章

  1. XML Tree(树形结构)
  2. SAP Hybris和ABAP Netweaver里的DAO(Data access object)
  3. Build 2018大会:.NET概述和路线图
  4. CentOS忘记普通用户密码解决办法
  5. 道友们,听说你们书荒啦?十几万本够吗?用python几步就可爬取
  6. php工具箱mysql停止进程_PHP进程卡死和MySQL超时时间的设置方法
  7. ip查看是否在线_linux查看端口占用情况
  8. 用 intellij idea 创建一个Java web项目
  9. 11.收货地址模块-新增收货地址①
  10. 网络嗅探器(影音神探) v4.63 绿色正式版
  11. c语言8bit转10bit,10bit视频转码成8bit视频教程(非常简单)
  12. 用于自动驾驶的实时联合目标检测和语义分割网络
  13. The current process just got forked. Disabling parallelism to avoid deadlocks.To disable this warnin
  14. 物联网方面的竞赛有那些?
  15. Elasticsearch Index Lifecycle Management (ILM)
  16. 测试nfs文件读写速度
  17. 编译原理(4):语法分析(自上而下)
  18. CreateFont比CreateFontIndirect好用啊~
  19. [NET Core] Nuget包发布流程
  20. leetcode学习笔记之07Revers Integer(整数反转)

热门文章

  1. hadoop HA 架构
  2. 云计算运维:运维人员常用到的11款服务器监控工具
  3. 3dsmax2020安装教程
  4. 开源NLP(自然语言处理)库的功能对比
  5. java简单学生成绩系统_JAVA 实现简单的学生成绩管理系统
  6. 什么是EFI系统分区?
  7. html中切角文本框,css实现切角效果
  8. data_2 测试工作日志
  9. 计算图像每行占用的字节数
  10. 辽宁计算机单招学校有哪些专业,辽宁单招无人机应用技术专业有哪些学校