将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 指定访问密钥库的密码

填写证书的基本信息

随意填写~~~

将HTTP接口配置成HTTPS_第1张图片

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

将HTTP接口配置成HTTPS_第2张图片

二、配置TomCat

  1. 修改tomcat的配置文件

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

将HTTP接口配置成HTTPS_第3张图片
  1. 添加证书配置

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

将HTTP接口配置成HTTPS_第4张图片

添加一个 Connector

  1. 验证是否成功

启动tomcat

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

将HTTP接口配置成HTTPS_第5张图片

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

将HTTP接口配置成HTTPS_第6张图片

三、配置SpringBoot的HTTPS访问

  1. 添加证书

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

将HTTP接口配置成HTTPS_第7张图片
  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: TLS
    key-store: src/main/resources/tomcat_https.keystore #证书地址
    key-alias: tomcat
    enabled: true
    key-store-password: 123456 #访问密码
    key-store-type: JKS
  1. 启动SpringBoot

访问接口请求成功即可

将HTTP接口配置成HTTPS_第8张图片

四、tomcat配置http自动跳转https

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

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

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

将HTTP接口配置成HTTPS_第9张图片

security-constraint的内容为:


    
        CLIENT-CERT
        Client Cert Users-only Area
    
    
    
        
            SSL
            /*
        
        
            CONFIDENTIAL
        
    
  1. 注意事项

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

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

将HTTP接口配置成HTTPS_第10张图片

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

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

你可能感兴趣的:(前端,SpringBoot,tomcat,java)