SpringBoot配置https

article/2025/11/5 8:20:10

为什么要把网站转为https?

https是网络数据传输协议,也就是说www的网站在传输数据的时候,都必须遵守这个协议,遵守统一的标准的协议,有利于数据更好的传送,而https则可以理解为是http的升级版或者安全版本。

https的优点如下:

1、部署https的网站更安全。

http是明文传送数据,不安全。也就是说,在传送数据的时候是明文的,没有经过加密,如果黑客一旦截获了这种明文数据,用户的隐私就很有可能暴露,如:账号、密码等。而https在传送数据的时候会对数据进行加密,就算黑客截获了数据也是加密后的数据。如果黑客通过技术进行破解,会花费更多的时间和技术成本。因此,https加密数据可以大大降低用户隐私泄露的风险,增加数据传输的安全性。

2、https可以降低网站被劫持、被镜像的风险。

http网站是无状态的,在传送数据的时候也没有对数据进行任何形式的加密,更不会对客户端和服务器进行反复的验证。这样在传送数据的时候,很可能被黑客利用,通过域名劫持等技术手段返回虚假的网站或数据给客户端。造成用户隐私泄露或财产损失。

而https采用了SSL安全机制进行通信,以数字证书为基础,在数据传送的过程会对客户端和浏览器进行反复的验证,确保通过域名可以访问到你想要访问的那台服务器,从而大大减少网站被劫持、被镜像的风险。

https原理如下

  • 客户端访问服务器->
  • 服务器把数字证书+公用密匙发给客户端->
  • 客户端验证服务器,确保访问的是正确的服务器(不是钓鱼网站)->
  • 客户端生产会话密匙并用公用密匙进行加密再次发给服务器->
  • 服务器用私人密匙进行解密(也就相当于验证客户端),验证成功建立起一条安全的数据传递通道->
  • 服务器把客户端请求的数据打包加密发送给客户端->
  • 客户端浏览器接收数据并解析。
  • 如果客户端再次请求数据,则重复上述步骤。

这种重复验证的方式,确保通过域名可以访问到正确的服务器,从而大大降低网站被劫持、被镜像的风险。

3、部署https可以提高用户体验。

https部署成功的网站,在浏览器的访问地址栏会显示一个带有安全标识的一个绿色的小锁,这样可以提高用户对这个网站的信任度及用户体验。

image-20220128211819067

申请SSL证书

不建议自己使用jdk生成证书,后期连接的时候会报错"您的连接不是私密连接",需要通过相关机构颁发,可以直接在服务器商申请免费的证书。

腾讯云申请地址

下载SSL证书

SpringBoot使用的是内置tomcat,所以选择tomcat文件。

image-20220128205436939

下载完成解压

image-20220128205520833

在resources目录下导入xxx.jks,并且在application.yml文件中进行相关https的配置

个人习惯的配置文件时yml

server:# 服务器运行端口port: 9990ssl:key-store: classpath:*****# SSL证书密码 (自己在腾讯云申请证书时的密码,如果当时没填那么在压缩文件就会有一个txt文件存放密码)key-store-password: ****# 证书类型key-store-type: JKS

在Maven中添加打包配置,避免打包过程中通过编译,压缩等方式破坏了证书文件,确保打包时不会处理jks文件

  <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><configuration><nonFilteredFileExtensions><!-- 避免 https 证书文件被修改 --><nonFilteredFileExtension>jks</nonFilteredFileExtension></nonFilteredFileExtensions></configuration></plugin>

自己折腾的一个方法,在此记录一下,由于是自己使用当前的后端接口,所以没必要做http转https,后期如果有需要再来加。


http://chatgpt.dhexx.cn/article/lV23MWwP.shtml

相关文章

nginx 代理 http、https 配置

nginx 代理 http、https 配置 http配置ssl https 配置 nginx 部署安装在之前的文章中已有教程&#xff0c;这里不再叙述&#xff0c;详情访问&#xff1a;nginx在centos7环境下安装本文主要讲述配置代理&#xff0c;包含http 、https代理&#xff0c;配置文件在 nginx 安装目录…

服务器https配置

1.登录阿里云后台: https://www.aliyun.com 在右上角"产品与服务"->“证书服务” 在证书列表,点击右上角"购买证书"->选择免费证书 返回证书列表, 选择刚刚申请的证书, 点击右边的"补全" 补全资料 等待审核通过之后下载配置证书 选…

Charles 抓包 Https 配置指南

一、说明 在做客户端开发的时候大家一定经常用到抓包工具去抓接口排查调试&#xff0c;非常的简捷方便。Charles 是一款非常好用的抓包工具&#xff0c;我在日常开发中也很喜欢用其进行接口联调、问题排查。 以前的客户端接口请求大多是 Http 传输的&#xff0c;抓接口直接配…

Charles抓https配置

环境:window10、charles4.6.1、ios14.4 1、第一步&#xff1a;pc安装证书 注意&#xff1a;证书存储的位置要选择‘受信任的根证书颁发机构’ 2、第二步&#xff1a;手机浏览器打开chls.pro/ssl下载安装证书 注意&#xff1a;下载安装完证书后&#xff0c;还需要如下设置 3、…

Tomcat配置Https

前言&#xff1a; 对于tomcat配置https还是挺简单的&#xff0c;首先你需要一个网站证书&#xff08;里面包含了公钥和私钥&#xff09;&#xff0c;这个证书相当于钥匙&#xff0c;但是https证书是需要花钱买的&#xff0c;我们在练习模拟不需要花钱买&#xff0c;可以使用 j…

Tomcat详解(七)——Tomcat使用https配置实战

今天继续给大家介绍Linux运维相关知识&#xff0c;本文主要内容是Tomcat使用https配置实战。 一、tomcat证书配置 首先&#xff0c;要实现https&#xff0c;就必须先具有tomcat证书。我们在安装tomcat的时候&#xff0c;肯定都先安装了JAVA&#xff0c;而JAVA中有自带的证书生…

宝塔配置https

1. 2.左侧选中ssl&#xff0c;右上选中lets’encrypt 然后申请&#xff0c;结果如图 3.放行443 端口&#xff0c;我的是阿里云&#xff0c;其他云也是一样&#xff0c;要在安全组中出方向&#xff0c;添加开放443 4.宝塔中的设置&#xff0c;也要放行443端口的访问 5.然后用…

tomcat的https配置(亲测有效)

tomcat的https配置 1、下载证书2、配置证书1.上传文件到服务器2、编辑conf/server.xml文件 3、配置http自动跳转到https4、最后重启tomcat服务器5、测试 1、下载证书 申请域名并通过审核后就可以下载电子证书 点击选择我的证书 我这里选择免费证书 然后按照提示下载 tomcat 的…

nginx-http重定向到https配置

第一步打开服务器找到nginx目录文件&#xff0c;找到nginx.conf文件进行配置 我们只需要找到http所在的那个服务加入一行代码 return 301 https://www.abc.com$request_uri; 就可以将http协议改成https http{include mime.types;server{charset utf-8;listen 443 s…

Spring Boot 的HTTPS 配置

HTTPS 配置 由于HTTPS具有良好的安全性&#xff0c;在开发中得到了越来越广泛的应用&#xff0c;像微信公众号、小程序等的开发都要使用HTTPS来完成。对于个人开发者而言&#xff0c;一个HTTPS 证书的价格还是有点贵&#xff0c;国内有一些云服务器厂商提供免费的HTTPS证书&am…

https协议配置

前言&#xff1a;https协议配置&#xff0c;一般用于针对政府部门的终端有网络防火墙、网络过滤器等&#xff0c;使系统中的一些请求被拦截&#xff08;劫持&#xff09;&#xff0c;原因一般为在请求头中有存在敏感信息&#xff0c;被网络过滤的监听器发现即拦截&#xff0c;可…

https配置

1.https定义: HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。它是一个URI scheme(抽象标识符体系),句法类同http:体…

配置HTTPS详细教程(内网)

前言 HTTPS &#xff08;全称&#xff1a;Hyper Text Transfer Protocol over SecureSocket Layer&#xff09;&#xff0c;是以安全为目标的 HTTP 通道&#xff0c;在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL&#xff0c;H…

Hadamard和Rademacher

Hadamard基向量 H i j 1 H_{ij} \pm 1 Hij​1, H n T H n H n H n T n I n H_n^T H_n H_n H_n^T n I_n HnT​Hn​Hn​HnT​nIn​. 最简单的Hadamard矩阵的构造&#xff1a;Sylvester’s Construction。 Rademacher基信号 r k ( t ) s i g n sin ⁡ 2 k π t r_k(t) \…

Linux驱动之DMA框架(一):DMA框架的基本轮廓

DMA简介 DMA(Direct Memory Access,直接存储区访问)&#xff0c;用于在外设与存储器之间以及存储器与存储器之间提供高速数据传输。可以在无需任何 CPU 操作的情况下通过 DMA 快速移动数据&#xff0c;这样节省的 CPU 资源可供其它操作使用。现代的处理器或者是微控制器都内嵌…

DMA概述

目录 传送原理工作方式 DMA即直接存储器存取&#xff08;Direct Memory Access).用DMA传输数据时&#xff0c;在高速I/O设备与存储器之间直接开辟数据传输通道&#xff0c;此时CPU不再直接参与数据交换&#xff0c;而是通过DMA控制器来管理。 DMA数据传输示意如下&#xff1a; …

10、Random

利用Random类来产生5个20~ 50之间的随机整数。 提示: Random.nextInt(方法的作用是生成一个随机的int值 &#xff0c;该值介于[0,n)的区间&#xff0c;也就是0到n之间的随机int值&#xff0c;包含0而不包含n。 方法1&#xff1a;int nextInt(int n) import java. util. Rand…

让 RadAsm + masm32 环境支持 Irvine32.lib

学习《汇编语言&#xff1a;基于X86处理器》这本书&#xff08;或者该书更早版本&#xff09;的朋友都知道&#xff0c;Irvine32.lib 是该书作者 Kip Irvine 为了汇编初学者而自行设计的一个链接库&#xff0c;它提供了在控制台下简单的输入输出接口。但作者在该书中使用的学习…

RA-Depth

一、论文贡献 1、提出了一种任意尺度的数据增强方法&#xff0c;以促进模型从具有不同尺度的图像中学习深度尺度。 2、开发了一种双高分辨率网络&#xff0c;具有多尺度特征融合&#xff0c;使用新的跨尺度深度一致性损失训练。 二、相关工作 三、方法 3.1参照monodepth2 …

DMA简介

为什么要有 DMA 技术? dma主要是用于读写数据用的 在没有 DMA 技术前&#xff0c;I/O 的过程是这样的&#xff1a; CPU 发出对应的指令给磁盘控制器&#xff0c;然后返回&#xff1b;磁盘控制器收到指令后&#xff0c;于是就开始准备数据&#xff0c;会把数据放入到磁盘控制…