详细SpringBoot框架教程——SpringBoot配置SSL(https)

前言:

本篇文章主要内容

SpringBoot配置SSL(https)

SpringBoot全局异常处理

SpringBoot 404页面处理

SpringBoot配置SSL(https)

SpringBoot可以通过在application.properties或application.yml配置文件中配置各种server.ssl.*属性来声明性使用SSL(https),比如下面的例子在application.properties中设置SSL属性:

如果使用了上面的配置就表示springboot应用程序不再在端口8080上支持HTTP连接请求,SpringBoot不能通过配置application.properties来实现既支持HTTP连接又支持HTTPS连接,这是做不到的,如果要同时支持HTTP和HTTPS,则需要以编程方式配置其中的一个,建议使用application.properties文件来配置HTTPS,以编程方式配置HTTP,这是比较容易的方法;

SpringBoot支持配置https具体步骤:

1、生成证书,可以使自签名证书(平时测试的时候)或者从SSL证书授权中心购买证书(上线);

平时生成证书进行测试的话,有两种生成证书的方式:

(1)利用JDK工具生成证书

证书生成后我们可以验证下jks是否包含了完整的证书链:

keytool -list -v -keystore server.jks

keytool -list -v -keystore server.pkcs12

(2)利用Openssl工具生成证书

通过openssl来生成,如果linux中没有安装openssl,需要安装一下,执行:

yum install openssl openssl-devel -y

1、#生成一个RSA密钥 (私钥)

openssl genrsa -out server.key 2048

2、#生成一个证书请求

openssl req -new -key server.key -out server.csr -subj “/C=CN/ST=Beijing/L=Beijing/O=power Inc./OU=Web Security/CN=power.com”

3、#自己签发证书

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

字段解读

  • C字段:Country,单位所在国家,为两位数的国家缩写,如:CN 表示中国;
  • ST 字段:State/Province,单位所在州或省;
  • L 字段:Locality,单位所在城市/或县区;
  • O 字段:Organization,此网站的单位名称;
  • OU 字段:Organization Unit,下属部门名称,也常常用于显示其他证书相关信息,如证书类型,证书产品名称或身份验证类型或验证内容等;
  • CN 字段:Common Name,网站的域名;

转换为pkcs12格式(因为在Java中使用证书,需要转换一下格式)

openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out server.p12

openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out server.pkcs12

转换为jks格式(因为在Java中使用证书,需要转换一下格式,jks是java独有的)

keytool -importkeystore -srckeystore server.pkcs12 -destkeystore server.jks -srcstoretype pkcs12 -deststoretype jks

2、配置或编写代码;

注意我们是在Java环境中,常用的证书形式有p12、pkcs12格式、jks格式,如果不是该格式,需要转换;p12、pkcs12是同一个,只是证书的后缀不同而已;

作业:单独有一个Tomcat,配置一下https;

SpringBoot全局异常处理

在项目的开发中,如果报错了,直接在页面显示500错误,输出一大堆的异常信息,这对应用户来说体验不友好,所以在企业里面对这些异常一般都会统一捕获,由一个专门的异常处理类来统一处理。(原来在ssm框架中,我们是在tomcat定义错误页或者web.xml定义错误页)

具体参考课程演示和代码;

SpringBoot 404页面处理

当输入地址有误,会进入springboot默认的白板404页面,对用户不太友好,我们可以统一定义一个全局的404错误处理;

SpringBoot更多话题,老铁们可以学习一下,由于内容较多,就不一一展示全部内容了 !有需要这份《SpringBoot学习笔记》完整学习笔记文档的,麻烦转发后私信回复[777]即可获取

### 如何创建和配置Spring Boot框架项目 #### 使用Spring Initializr初始化项目 为了简化项目的搭建流程并遵循“约定大于配置”的原则,推荐使用Spring Initializr来创建一个新的Spring Boot项目[^2]。 访问[https://start.spring.io/](https://start.spring.io/)网站,在线填写必要的选项如Group、Artifact ID以及所需的依赖项(例如:Web, JPA等),之后下载生成好的压缩包并解压到本地工作目录下即可获得完整的Maven工程结构。 #### 配置`pom.xml` 对于基于Maven构建工具的Spring Boot项目来说,其核心在于`pom.xml`文件中的依赖管理。此文件已经由Spring Initializr预先填充好了基础性的依赖声明,通常情况下不需要额外修改除非有特殊需求引入其他库的支持[^1]。 ```xml <dependencies> <!-- Spring Web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Other dependencies... --> </dependencies> ``` #### 应用程序主类定义 每一个Spring Boot应用程序都需要有一个入口点——即包含`@SpringBootApplication`注解的Java类。此类不仅负责启动整个应用实例,还可以作为组件扫描起点以及其他自定义逻辑实现的地方[^3]。 ```java import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } } ``` #### 设置application.properties/yml 通过编辑位于src/main/resources路径下的`application.properties`或YAML格式的应用配置文件,能够轻松调整诸如端口号、数据源连接字符串等各种环境变量而无需改动任何代码层面的东西。 ```properties server.port=8080 spring.datasource.url=jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=password ``` #### 测试与运行 最后一步就是确保一切正常运作了。可以通过IDE内部命令或者终端执行mvn spring-boot:run指令来直接编译打包并启动服务;也可以先打成jar包再单独运行该可执行JAR文件[^4]。 当浏览器访问`http://localhost:8080`时应该能看到预期的结果页面展示出来。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值