Spring boot 2.2.4设置同时支持http和https

https简介

超文本传输安全协议(HyperText Transfer Protocol Secure),缩写:HTTPS;常称为 HTTP over TLS、HTTP over SSL 或 HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。这个协议由网景公司(Netscape)在 1994 年首次提出,随后扩展到互联网上。

一、Spring boot 2.2.4 如何支持 https

1、获得证书
使用JDK自带的工具。进入JDK的bin目录, 查看目录信息, 可以看到keytool 工具

在这里插入图片描述在这里插入图片描述

然后执行以下代码生成证书

keytool -genkey -alias spring -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore E:/spring.keystore -storepass 123456

在这里插入图片描述在这里插入图片描述
在E盘就会得到这样的一个文件
在这里插入图片描述

2、在配置文件中添加配置如下

server:

  ssl:
    key-password: 123456
    key-store: classpath:cuiyutian.club.jks
    # key-alias: spring
    key-store-type: jks

  port: 8001 # 服务端口

然后启动项目, 打印一下的信息, 就配置成功了。

Tomcat initialized with port(s): 8001 (https) 

此时访问, http 会提示
在这里插入图片描述

访问 https

在这里插入图片描述
二、Spring boot 2.2.4 如何同时支持 https、http

在启动类下面添加如下代码

    @Bean
    public ServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
        tomcat.addAdditionalTomcatConnectors(createStandardConnector());
        return tomcat;
    }

    private Connector createStandardConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setPort(8080);
        return connector;
    }

然后运行项目, 观看打印信息。

Tomcat initialized with port(s): 8001 (https) 8080 (http)

到此配置完毕,这样只是本地测试, 如需上线运行, 可以到腾讯云申请免费的证书

连接:

https://console.cloud.tencent.com/ssl
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值