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


相关推荐

  • php curl_init post/get请求

    php curl_init post/get请求publicfunctiongetCurlApi(){$url=’地址’;$headers=array(‘access_token:’.$token);$curl=curl_init();curl_setopt($curl,CURLOPT_URL,$url);//设置调用地址curl_setopt($curl,CURLOPT_HTTPHEADER,$headers);//添加头…

    2022年7月12日
    19
  • Java 注释

    Java 注释(一)注释的重要性  编写程序的时候,总需要为程序添加一些注释,用以说明某段代码的作用,或者说明某个类的用途,某个方法的工能,以及该方法的的参数和返回值的数据类型以及意义等  程序注释的作用非常大,很多初学者在刚刚学习java程序的时候,会很努力的写程序,不太会注意添加注释。认为添加注释是一种浪费时间,没有意义的事情。经过一段时间的学习,注意到程序书写的不足,需要重构。于是打开源码…

    2022年7月7日
    15
  • 指针常量和常量指针的区别_指针常量能指向常量吗

    指针常量和常量指针的区别_指针常量能指向常量吗1、指针常量——指针类型的常量(int*constp)本质上一个常量,指针用来说明常量的类型,表示该常量是一个指针类型的常量。在指针常量中,指针自身的值是一个常量,不可改变,始终指向同一个地址。在定义的同时必须初始化。用法如下:inta=10,b=20;int*constp=&a;*p=30;//p指向的地址是一定的,但其内容可以修改2、…

    2022年4月19日
    64
  • 协同过滤推荐算法介绍(协同过滤的推荐算法)

    随着电商企业的发展,为了更好的了解用户喜好以便于将更加适合的商品推荐给用户,不仅能得到用户好的评价,而且也有利于自身企业的利益,因此,随之诞生了很多推荐系统,最为常用的推荐算法就是协同过滤算法。转载请标明原文链接推荐算法的基础就是基于两个对象之间的相关性,常用的计算方法有欧几里得相似性,这是一种使用较多的相似性计算方法。除此之外还有曼哈顿相似性和余弦相似性的计算方法。协同过滤算…

    2022年4月10日
    46
  • OpenStreetMap初探(一)——了解OpenStreetMap

    OpenStreetMap初探(一)——了解OpenStreetMap

    2021年12月15日
    79
  • linux 如何编译安装软件

    linux 如何编译安装软件

    2021年10月18日
    42

发表回复

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

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