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

北京市建设公租房网站代理做减肥网站

北京市建设公租房网站,代理做减肥网站,免费ppt模板下载熊猫,营销策略理论总结:如何在SpringBoot中使用https协议以及自签证书? 前提一:什么是http协议?前提二:什么是https协议?一生成自签证书二 将证书转换为PKCS12格式三 配置SpringBoot(1)修改配置文件&a…

总结:如何在SpringBoot中使用https协议以及自签证书?

  • 前提一:什么是http协议?
  • 前提二:什么是https协议?
  • 一·生成自签证书
  • 二· 将证书转换为PKCS12格式
  • 三· 配置SpringBoot
    • (1)修改配置文件:application.properties或application.yml
    • (2) 配置HTTP重定向到HTTPS(可选)
    • (3)控制器示例代码:
    • (4)完整项目结构
  • 四·验证成功
    • (1)启动Spring Boot应用:
    • (2)处理浏览器警告
    • (3)使用https协议访问:https://localhost:8443/hello(浏览器会提示证书不安全,点击“继续”即可)。
    • (4)使用http协议访问:http://localhost:8080/hello,会自动跳转到HTTPS(如果配置了HTTP重定向)
    • (5)使用Java代码发起https请求验证:成功!
    • (6)https工具类代码地址:

前提一:什么是http协议?

https://t4dmw.blog.csdn.net/article/details/123313047

前提二:什么是https协议?

https://t4dmw.blog.csdn.net/article/details/123385750

一·生成自签证书

使用OpenSSL生成自签证书(如果已有证书可跳过此步骤):

openssl req -x509 -newkey rsa:4096 -keyout private_key.pem -out public_cert.pem -days 365 -nodes

生成的文件:

private_key.pem:私钥文件。

public_cert.pem:证书文件,包含公钥。

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

二· 将证书转换为PKCS12格式

Spring Boot需要PKCS12格式的证书文件(.p12或.pfx)。使用以下命令转换:

openssl pkcs12 -export -in public_cert.pem -inkey private_key.pem -out keystore.p12 -name "mycert"

输入密码:设置证书库密码(如123456)生成keystore.p12文件。
在这里插入图片描述

三· 配置SpringBoot

将证书文件(keystore.p12)复制到Spring Boot项目的src/main/resources目录下。

(1)修改配置文件:application.properties或application.yml

server:ssl:# 开启sslenabled: true# keystore文件key-store: classpath:keystore.p12# keystore格式key-store-type: PKCS12# keystore密码key-store-password: 123456# keystore别名key-alias: mycert# https端口port: 8443

(2) 配置HTTP重定向到HTTPS(可选)

如果希望所有HTTP请求自动重定向到HTTPS,可以添加以下配置,HTTP端口在代码中设置为8080

(2-1) 添加Tomcat配置类

package com.example.config;import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** @author liumingfu* @date 2020/06/08 22:06* @description: https配置*/
@Configuration
public class HttpsConfig {@Beanpublic ServletWebServerFactory servletContainer() {TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {@Overrideprotected void postProcessContext(Context context) {SecurityConstraint securityConstraint = new SecurityConstraint();securityConstraint.setUserConstraint("CONFIDENTIAL");SecurityCollection collection = new SecurityCollection();collection.addPattern("/*");securityConstraint.addCollection(collection);context.addConstraint(securityConstraint);}};// 添加HTTP连接器,重定向到HTTPStomcat.addAdditionalTomcatConnectors(redirectConnector());return tomcat;}/*** 访问http协议8080端口,重定向到https协议8443端口** @param* @return* @author LiuMingFu* @date 2025/2/14*/private Connector redirectConnector() {Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");connector.setScheme("http");connector.setPort(8080);  // HTTP端口connector.setSecure(false);connector.setRedirectPort(8443);  // HTTPS端口return connector;}
}

(3)控制器示例代码:

控制层

package com.example.controller;import com.example.service.MyService;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** @Description TODO* @Author LiuMingFu* @Date 2025/2/13 17:58*/
@RestController
public class MyController {@Resourceprivate MyService myService;@RequestMapping("/hello")public String getHello(){return myService.getHello();}
}

service接口层

package com.example.service;import org.springframework.stereotype.Service;/*** @Description TODO* @Author LiuMingFu* @Date 2025/2/13 18:00*/
@Service
public interface MyService {String getHello();
}

service接口实现层

package com.example.service.impl;import com.example.service.MyService;
import org.springframework.stereotype.Repository;/*** @Description TODO* @Author LiuMingFu* @Date 2025/2/13 18:00*/
@Repository
public class MyServiceImpl implements MyService {@Overridepublic String getHello() {return "hello https";}
}

(4)完整项目结构

在这里插入图片描述

四·验证成功

(1)启动Spring Boot应用:

在这里插入图片描述

在这里插入图片描述

(2)处理浏览器警告

  • 自签证书会导致浏览器显示“不安全”警告。在开发环境中,可以手动信任证书:
  • 将public_cert.pem导入浏览器或操作系统的信任库。
  • 对于测试工具(如Postman或curl),添加-k或–insecure参数忽略证书验证。

(3)使用https协议访问:https://localhost:8443/hello(浏览器会提示证书不安全,点击“继续”即可)。

在这里插入图片描述

(4)使用http协议访问:http://localhost:8080/hello,会自动跳转到HTTPS(如果配置了HTTP重定向)

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

(5)使用Java代码发起https请求验证:成功!

注意:使用代码方式,访问的接口域名,必须跟证书的域名地址一致,否则报错
在这里插入图片描述

(6)https工具类代码地址:

https://blog.csdn.net/weixin_48033662/article/details/145640901


文章转载自:

http://SlP02HZr.jqwpw.cn
http://DmZa1rkG.jqwpw.cn
http://cB8ELRg5.jqwpw.cn
http://IiING5Il.jqwpw.cn
http://1VYbk2jv.jqwpw.cn
http://cG429Kyg.jqwpw.cn
http://pKJOqHEQ.jqwpw.cn
http://lVYPaYbq.jqwpw.cn
http://5gP4aSBU.jqwpw.cn
http://0la2QTVR.jqwpw.cn
http://yrqG8lAT.jqwpw.cn
http://84XNGqJl.jqwpw.cn
http://NbyUfxqP.jqwpw.cn
http://xVzocMVI.jqwpw.cn
http://TBiDBT0L.jqwpw.cn
http://LRKQXHtA.jqwpw.cn
http://YZ3F9s2e.jqwpw.cn
http://jRzI2cuL.jqwpw.cn
http://TFktDanc.jqwpw.cn
http://qK0l0rp6.jqwpw.cn
http://V1AewPhJ.jqwpw.cn
http://HPoWjqsl.jqwpw.cn
http://spW0Y66a.jqwpw.cn
http://N6Uf3kfp.jqwpw.cn
http://q2dBoncL.jqwpw.cn
http://YcHq1L7H.jqwpw.cn
http://JewF9N7k.jqwpw.cn
http://vJusE1lf.jqwpw.cn
http://7StOdi6L.jqwpw.cn
http://vyOqChWR.jqwpw.cn
http://www.dtcms.com/wzjs/614175.html

相关文章:

  • 网站推广应该怎么做?济宁做网站多少钱
  • 濮阳免费网站制作十大互联网装修平台排名
  • 上海网站建设 方案汽水音乐怎么推广赚钱
  • wordpress建站资源杭州设计 公司 网站建设
  • 网站运营怎么做杭州网站设计精选柚v米科技
  • 北京专门做网站的旅游网网站建设的管理
  • 辽阳太子河网站建设做图的软件网站
  • 第四章第二节网站建设的教学设计如何做网站信息
  • 萧云建设网站东阿网站建设电话
  • 东莞长安网站设计公司广东知名seo推广多少钱
  • 杭州企业网站建设 哪里好wordpress主页视频
  • 做空包网站手机怎么打开微信网站
  • 收录快的门户网站游戏开发网站开发
  • 微网站 文章wordpress slide插件
  • 免费制图网站网站设计 成都
  • 商丘做网站sqlongliqi淮安网站设计
  • 域名解析好了怎么做网站公司宣传册设计样本免费
  • 中山网站优化南召网站建设
  • 网站中点击链接怎么做的拼多多女装关键词排名
  • 网站工作有哪些内容有赞微商城app官方下载
  • 西安外包公司排行优化营商环境调度
  • 网站 视觉冲击水果建设网站前的市场分析
  • 哈尔滨网页网站制作装修公司谁做网站
  • 网站建设重庆公司企业vi是什么
  • 罗湖网站设计论文答辩免费ppt模板下载
  • 如何将网站挂载域名如何运营好一个网站
  • 网站开发软件 论文 摘要godaddy中文网站开发
  • 公司网站宣传设计国外设交网站开发客户的重要性
  • 社交网站建设流程seo的形式有哪些
  • 广东品牌网站建设服务机构cps广告是什么意思