1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

SpringBoot服务配置HTTPS访问

SpringBoot服务配置HTTPS访问

你好,我是本际云服务器推荐网的小编小本本。今天要与大家分享的是如何对SpringBoot服务进行HTTPS访问的配置。

SpringBoot服务配置HTTPS访问

HTTPS介绍

HTTPS全称是HyperText Transfer Protocol over Secure Socket Layer,是一种安全的HTTP协议。相对于HTTP来说,HTTPS传输数据更加安全可靠,它通过证书验证服务端身份,并采用混合加密技术对请求响应数据进行加密,确保传输的数据不被冒充和篡改。

HTTPS原理

了解HTTPS原理之前,我们需要先熟悉对称加密和非对称加密技术。对称加密使用同一把秘钥进行加解密,加解密速度快但存在泄露风险;而非对称加密技术则使用不同的秘钥进行加解密,私钥只有服务端持有,安全性更高但加解密效率不如对称加密。

HTTPS实现原理综合利用对称和非对称加密的优点,其请求流程如下:客户端产生一个对称秘钥,通过公钥加密后发送给服务端,服务端使用私钥解密后拿到客户端的对称秘钥。这样客户端和服务端都持有了只有当前双方知道的对称秘钥,后续请求都通过该对称秘钥加密传输。

HTTPS实现

下面介绍如何使用SpringBoot对服务进行HTTPS访问的配置。

1. 使用JDK自带的keytool工具生成ssl证书。

执行以下命令生成证书:

keytool -genkey -alias gateway -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore scg-keystore.p12 -storepass shsnc123456 -validity 3650

其中,参数的含义分别如下:

  • -genkey:生成秘钥
  • -alias:别名
  • -keyalg:秘钥算法
  • -keysize:秘钥长度
  • -validity:证书有效期(天)
  • -keystore:生成秘钥库的存储路径和名称
  • -storepass:秘钥库口令

执行完成后将生成证书,如下图:

certificate

2. SpringBoot配置SSL证书

将生成的证书文件复制到工程的resources目录下,并在application.yml中配置SSL证书:

server:

port: 8443

ssl:

key-store: classpath:scg-keystore.p12

key-store-password: shsnc123456

keyStoreType: PKCS12

keyAlias: gateway

3. 测试效果

启动SpringBoot服务,使用HTTPS协议访问请求,可以看到已成功通过HTTPS访问。

本文作者:孙涛涛(上海新炬王翦团队)

本文来源:“IT那活儿”公众号

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6384.html