使用SpringBoot配置https(SSL证书)

目录

SpringBoot配置https(SSL证书)

最近在做微信小程序,https是必须条件

仅需三步

SpringBoot2.x版本

对比一下这个小锁头是不是莫名有点好看?

嘤为很久以前就备案有域名,就直接申请了SSL证书,几分钟就下来了

1.把tomcat目录里面的.jks文件

复制到项目里面(注意路径)

2.配置application.yml

1

2

3

4

ssl:

  key-store: classpath:server.jks

  key-store-password: 申请时设置的密码

  keyStoreType: JKS

3.接下来是重定向

在启动类底下添加;(把指定的http8080端口重定向到https8888)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

@Bean

    public ServletWebServerFactory servletContainer() {

        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();

        tomcat.addAdditionalTomcatConnectors(createHTTPConnector());

        return tomcat;

    }

    private Connector createHTTPConnector() {

        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");

        //同时启用http(8080)、https(8443)两个端口

        connector.setScheme("http");

        connector.setSecure(false);

        connector.setPort(8080);

        connector.setRedirectPort(443);

        return connector;

    }

ok

SpringBoot 改造成https访问

SpringBoot https改造

1.生成密钥证书

生成命令:keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650

(1)关键字解释:

alias:密钥别名

storetype:指定密钥仓库类型

keyalg:生证书的算法名称,RSA是一种非对称加密算法

keysize:证书大小

keystore:生成的证书文件的存储路径

validity:证书的有效期

(2)生成证书注意:

在输入证书生成命令之后,会提示输入:

  • 密钥库口令:证书密码,在后面的项目中配置证书时用到
  • 姓氏:一般没什么用,在浏览器中查看证书时会显示,用于正式场合的证书还是需要填写标准。
  • 组织单位:证书使用单位信息,一般没什么用,在浏览器中查看证书时会显示,用于正式场合的证书还是需要填写标准。
  • 组织单位名称:证书使用单位名称,一般没什么用,在浏览器中查看证书时会显示,用于正式场合的证书还是需要填写标准。
  • 所在的城市或区域名称:浏览器中查看证书信息时会显示。
  • 所在的省/市/自治区名称:浏览器中查看证书信息时会显示。
  • 单位的双字母国家/地区代码:国家或地区编码,浏览器中查看证书信息时会显示。

2.将生成的密钥证书拷贝到项目中的resource中

也可以不拷贝到项目中,后面配置路径时配置密钥证书的绝对路径即可

3.修改项目配置文件application.properties

增加如下配置项:

  • server.ssl.key-store=classpath:keystore.p12 (密钥文件路径,也可以配置绝对路径)
  • server.ssl.key-store-password=aqjcpt (密钥生成时输入的密钥库口令)
  • server.ssl.keyStoreType=PKCS12 (密钥类型,与密钥生成命令一致)
  • server.ssl.keyAlias=tomcat (密钥别名,与密钥生成命令一致)

4.启动项目,直接访问项目即可

  • 11
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在Spring Boot中配置SSL证书以实现HTTPS访问有几个步骤。首先,你需要获取SSL证书文件。 然后,你可以按照以下步骤进行配置: 1. 将证书文件(通常是以.crt或.pfx为后缀的文件)复制到项目的资源目录下,比如src/main/resources。 2. 在项目的配置文件(通常是application.properties或application.yml)中添加以下配置: ``` server.port=443 server.ssl.key-store-type=PKCS12 server.ssl.key-store=classpath:your_certificate_file.pfx server.ssl.key-store-password=your_certificate_password ``` 其中,your_certificate_file.pfx是你复制的证书文件名,your_certificate_password是证书的密码。 3. 启动项目后,你可以通过HTTPS访问你的应用程序。你可以在浏览器中输入https://localhost 来尝试。 请确保在配置过程中提供正确的证书文件和密码,并将其与你的应用程序相匹配。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [springboot配置SSL证书HTTPS访问](https://download.csdn.net/download/ningyunyuyi/10545683)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [使用SpringBoot配置https(SSL证书)](https://blog.csdn.net/yucaifu1989/article/details/124384022)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [SpringBoot配置SSL证书](https://blog.csdn.net/qq_40247570/article/details/122549072)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值