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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SIFT特征提取分析

    SIFT特征提取分析

    2021年12月2日
    42
  • js中数组排序的五种方式「建议收藏」

    js中数组排序的五种方式「建议收藏」1.Javascript的sort方法,本方法的原理是冒泡排序,这里默认从小到大排序<script> vararr=[23,13,34,65,65,45,89,13,1]; varnewArr=arr.sort(function(a,b){ returna-b; }); console.log(newArr);//输出结果[1,13,13,23,34,45,65,65,89]</script>2….

    2022年5月6日
    134
  • Lamda架构研究「建议收藏」

    Lamda架构研究「建议收藏」Lamda架构学习一、Lamda架构介绍Lambda架构整合离线计算和实时计算,融合不可变性(Immutability),读写分离和复杂性隔离等一系列架构原则,可集成Hadoop,Kafka,Storm,Spark,HBase等各类大数据组件。Lambda架构的目的是为应用程序提供一个低延迟的复合异步数据传输环境,例如新闻类应用,经常需要进行大规模信息处理,包括输入,归类,索引,存储等

    2022年5月20日
    46
  • Idea激活码最新教程2023.1版本,永久有效激活码,亲测可用,记得收藏

    Idea激活码最新教程2023.1版本,永久有效激活码,亲测可用,记得收藏Idea 激活码教程永久有效 2023 1 激活码教程 Windows 版永久激活 持续更新 Idea 激活码 2023 1 成功激活

    2025年5月26日
    4
  • random.nextInt()的用法

    random.nextInt()的用法1、不带参数的nextInt()会生成所有有效的整数(包含正数,负数,0)2、带参的nextInt(intx)则会生成一个范围在0~x(不包含X)内的任意正整数例如:intx=newRandom.nextInt(100);则x为一个0~99的任意整数3、生成一个指定范围内的整数/**生成[min,max]之间的随机整数*@parammin最小整数…

    2022年7月22日
    14
  • 在linux中如何解压.tgz「建议收藏」

    在linux中如何解压.tgz「建议收藏」网上的方法,都不适合我这个粗人!总结一套本仙女的方法哈!比如仙女下载了一个.tgz文件到中然后首先:打开终端1,进入下载路径下,比如我的就是进入Downloads下。输入命令: cdDownloads2,解压到当前文件夹输入:tarzxvf 文件名.tgz-C./    比如我的是:tarzxvfsimple-examples.tgz-C./3,解压到指定文件夹下输入:tar …

    2022年4月20日
    69

发表回复

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

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