当前位置: 首页 > news >正文

将HTTP接口配置成HTTPS

一、使用Java的keytool.exe程序生成本机的TLS许可

  1. 找到Java的jdk目录进入bin

默认安装路径C:\Program Files\Java\jdk1.8.0_91\bin

  1. 进入命令面板,在bin的路径栏中输入cmd敲击回车即可

  1. 使用keytool

keytool -genkeypair -alias tomcat_https -keypass 123456 -keyalg RSA -keysize 1024 -validity 3650 -keystore ./tomcat_https.keystore -storepass 123456

keytool命令的参数:

  • -alias 别名

  • -keypass 指定生成密钥的密码

  • -keyalg 指定密钥使用的加密算法(如 RSA)

  • -keysize 密钥大小

  • -validity 过期时间,单位天

  • -keystore 指定存储密钥的密钥库的生成路径、名称

  • -storepass 指定访问密钥库的密码

填写证书的基本信息

随意填写~~~

填写完成输入y确定并敲击回车键,即可在当前目录下 生成一份证书

二、配置TomCat

  1. 修改tomcat的配置文件

找到配置文件并用笔记本或其他文本编辑器打开

  1. 添加证书配置

在tomcat的配置文件中找到图中代码

添加一个 Connector

<Connector port="访问端口" protocol="org.apache.coyote.http11.Http11NioProtocol"maxThreads="150" SSLEnabled="true" scheme="https" secure="true"clientAuth="false" sslProtocol="TLS"keystoreFile="证书地址"  keystorePass="证书访问密码" />
  1. 验证是否成功

启动tomcat

使用https访问端口8443 https://localhost:8443/,若出现下图选择高级选项再点击接受即可

出现这个界面说明配置成功

三、配置SpringBoot的HTTPS访问

  1. 添加证书

将Java生成的证书拷贝一份到springboot的资源文件包下

  1. 配置SptingBoot配置文件的证书信息

根据自己的配置文件选择对应的配置即可二选一

properties配置文件

server.ssl.protocol=TLS
server.ssl.key-store=src/main/resources/tomcat_https.keystore #证书地址
server.ssl.key-alias=tomcat
server.ssl.enabled=true
server.ssl.key-store-password=123456 #访问密码
server.ssl.key-store-type=JKS

yml配置文件

  ssl:protocol: TLSkey-store: src/main/resources/tomcat_https.keystore #证书地址key-alias: tomcatenabled: truekey-store-password: 123456 #访问密码key-store-type: JKS
  1. 启动SpringBoot

访问接口请求成功即可

四、tomcat配置http自动跳转https

  1. 找到tomcat的web.xml配置文件

  1. 添加security-constraint(安全约束)

在配置文件的最下面添加security-constraint标签

security-constraint的内容为:

<!-- 强制使用https,http请求会自动转为https--><login-config><auth-method>CLIENT-CERT</auth-method><realm-name>Client Cert Users-only Area</realm-name></login-config><!--配置网站支持https,/* 表示全部请求都走https, transport-guarantee 标签设置为 CONFIDENTIAL以便使应用支持 SSL。 如果需要关闭 SSL ,将 CONFIDENTIAL 改为 NONE 即可 --><security-constraint><web-resource-collection><web-resource-name>SSL</web-resource-name><url-pattern>/*</url-pattern></web-resource-collection><user-data-constraint><transport-guarantee>CONFIDENTIAL</transport-guarantee></user-data-constraint></security-constraint>
  1. 注意事项

开启了安全约束后service中的redirectPort参数要对应上

如:http我配置了个8080,https配置的是8443,开启安全约束后8080的配置应该为

redirectPort的值是https端口的,否则服务无法跳转,就会报错

若是对应上那么我们访问http://localhost:8080/就会自动转到https://localhost:8443/这个地址

http://www.lryc.cn/news/13885.html

相关文章:

  • YOLOV5报错解决办法
  • java final关键字 详解
  • Vbs_To_Exe制作简易exe程序
  • AI制药 - TMScore(US-align)、RMSD、Sequence 源码
  • 关于个人的经历
  • 设计在单链表中删除值相同的多余结点的算法(包括指针的引用的知识点)
  • 100份简历才找一个合适的,2023,软件测试岗位饱和了吗?
  • (三十七)vue 项目中常用的2个Ajax库
  • Python打包调试问题解决
  • 计算机SCI期刊自引率一般是多少? - 易智编译EaseEditing
  • 力扣(LeetCode)417. 太平洋大西洋水流问题(2023.02.19)
  • Python解题 - CSDN周赛第30期 - 天然气订单
  • 移动WEB开发一、基础知识
  • 07 二叉树
  • 3|物联网控制|计算机控制-刘川来胡乃平版|第4章:过程通道与人机接口-4.1数字量输入输出通道接口|课堂笔记|ppt
  • 从 ClickHouse 到 Apache Doris,腾讯音乐内容库数据平台架构演进实践
  • linux线程的基本知识
  • docker swarm 集群服务编排部署指南(docker stack)
  • ESP开发环境搭建
  • 内网安全——ssH协议WindowsLinux密码获取hashcat
  • 【编程入门】应用市场(安卓版)
  • 【图像分类】卷积神经网络之LeNet5网络模型结构详解
  • 2023-JavaWeb最新整理面试题-TCP、Tomcat、Servlet、JSP等
  • 【云原生kubernetes】k8s Ingress使用详解
  • [数据结构]:顺序表(C语言实现)
  • 【大厂高频必刷真题100题】《有序矩阵中第 K 小的元素》 真题练习第27题 持续更新~
  • 两年外包生涯做完,感觉自己废了一半....
  • 02- OpenCV绘制图形及图像算术变换 (OpenCV基础) (机器视觉)
  • 猜数字大小 II
  • CCNP350-401学习笔记(251-300题)