springboot安装ssl证书_一个ssl证书可以多个服务器用吗

springboot安装ssl证书_一个ssl证书可以多个服务器用吗最近参与了一个微信小程序的项目,API要求服务器域名是Https的,所以研究了一下ssl证书在SpringBoot中的配置首先,到云服务提供商申请一套SSL证书,这里就不提供具体的申请流程了申请到证书之后下载证书现在Tomcat的进行下载,下载解压后有两个文件分别是.pfx后缀和.txt后缀的打开我们的项目(这里就不演示如何构建自己的基于SpringBoot的项目了)将.pfx…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

最近参与了一个微信小程序的项目,APIs要求服务器域名是Https的,所以学习了一下ssl证书在Spring Boot中的配置

首先,到云服务提供商申请一套SSL证书,这里就不提供具体的申请流程了

申请到证书之后下载证书
在这里插入图片描述
选择Tomcat的进行下载,下载解压后有两个文件
在这里插入图片描述
分别是.pfx后缀和.txt后缀的

打开我们的项目(这里就不演示如何构建自己的基于Spring Boot的项目了)
将.pfx文件放置在resources目录下,和application.properties同级
在这里插入图片描述
打开application.properties文件
添加如下字段
在这里插入图片描述
其中

  • server.ssl.key-store.pfx文件的路径
  • server.ssl.key-store-password是压缩包中.txt文件的内容
  • server.porthttps访问使用的端口
  • 其他两项默认不用改

因为Spring Boot不能同时使用HTTP和HTTPS,所以我们需要将HTTP的请求转发给HTTPS

在SpringBoot2.x中使用配置如下

	//下面是2.0的配置,1.x请搜索对应的设置
    @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(3036)两个端口
        connector.setScheme("http");
        connector.setSecure(false);
        connector.setPort(8080);
        connector.setRedirectPort(3036);
        return connector;
    }

附带一个Spring Boot 1.x的
2.x版本中省去了postProcessContext方法的实现

@Bean
    public TomcatServletWebServerFactory servletContainer() { 
   
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() { 
   
            @Override
            protected void postProcessContext(Context context) { 
   
                SecurityConstraint constraint = new SecurityConstraint();
                constraint.setUserConstraint("CONFIDENTIAL");
                SecurityCollection collection = new SecurityCollection();
                collection.addPattern("/*");
                constraint.addCollection(collection);
                context.addConstraint(constraint);
            }
        };
        tomcat.addAdditionalTomcatConnectors(httpConnector());
        return tomcat;
    }

    @Bean
    public Connector httpConnector() { 
   
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        //Connector监听的http的端口号
        connector.setPort(80);
        connector.setSecure(false);
        //监听到http的端口号后转向到的https的端口号
        connector.setRedirectPort(443);
        return connector;
    }

最后,打包部署到服务器就行了

部署好之后采用https访问一下3036端口的swagger文档
在这里插入图片描述
访问成功

采用http访问下http的端口8080
在这里插入图片描述
访问成功

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188915.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python urlopen 乱码[通俗易懂]

    1234567importurllib2importsys content=urllib2.urlopen(‘http://xxx.com’).read()#thewebpageisencodedbyuft-8 type=sys.getfilesystemencodin

    2022年4月16日
    51
  • 常见的路由协议「建议收藏」

    常见的路由协议「建议收藏」常见的路由协议可以分为两种类型一、内部网关协议内部网关协议(IGP:InteriorGatewayProtocol),适用于单个ISP的统一路由协议的运行,一般由一个ISP运营的网络位于一个AS(自治系统)内,有统一的ASnumber(自治系统号),用来处理内部路由。RIP、IGRP(Cisco私有协议)、EIGRP(Cisco私有协议)、OSPF、IS-IS等都是内部网关协议。1、…

    2025年8月20日
    3
  • Telerik字符压缩算法

    Telerik字符压缩算法

    2021年8月20日
    55
  • 数据挖掘技术的由来

    数据挖掘技术的由来

    2021年5月14日
    93
  • 加密门禁卡复制

    加密门禁卡复制本文主要是针对一下加密门禁卡解密复制问题。最近发现补一张要50,成本的话白卡2块钱一张,读卡器可以白嫖也可以24多买一个不带壳pn532模块。一.卡类型IC卡是智能卡的总称。普通IC卡,0扇区不可以修改,其他扇区可反复擦写,我们使用的电梯卡、门禁卡等智能卡发卡商所使用的都是M1卡,可以理解为物业发的原卡。UID卡普通复制卡,可以重复擦写所有扇区,主要应用在IC卡复制上,遇到带有防火墙的读卡器就会失效。CUID卡可擦写防屏蔽卡,可以重复擦写所有扇区,UID卡复制无效的情况

    2022年6月25日
    115
  • 微信公众号平台开发测试怎么做_软件测试怎么测小程序

    微信公众号平台开发测试怎么做_软件测试怎么测小程序微信公众号与微信客户端之间的通信机制如下图所示:公众账号需要根据不同微信用户的不同消息做出不同的响应,所以每一个公众账号需要开发自己独有的系统,这套系统需要运行在公网环境下,但是我们通常普通开发人员没有这个条件,所以我选择了新浪云(天真的我以为是免费的,结果花了10个小洋)。第一步注册微信公众账号我用已有的微信号,扫码即可得到一个第二步注册新浪云

    2025年6月11日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号