全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解在Spring Boot中使用Https

本文介绍如何在Spring Boot中,使用Https提供服务,并将Http请求自动重定向到Https。

Https证书

巧妇难为无米之炊,开始的开始,要先取得Https证书。你可以向证书机构申请证书,也可以自己制作根证书。

创建Web配置类

在代码中创建一个使用了Configuration注解的类,就像下面这段代码一样:

@Configuration
public class WebConfig {
    //Bean 定义...
}

配置Https

在配置类中添加EmbeddedServletContainerCustomizer Bean,并在其中配置Https证书和端口号。

@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
  return new EmbeddedServletContainerCustomizer() {
    @Override
    public void customize(ConfigurableEmbeddedServletContainer container) {
      Ssl ssl = new Ssl();
      //Server.jks中包含服务器私钥和证书
      ssl.setKeyStore("server.jks");
      ssl.setKeyStorePassword("123456");
      container.setSsl(ssl);
      container.setPort(8443);
    }
  };
}

配置Http使其自动重定向到Https

Embedded默认只有一个Connector,要在提供Https服务的同时支持Http,需要添加一个Connector。在配置类中添加如下配置:

@Bean
public EmbeddedServletContainerFactory servletContainerFactory() {
  TomcatEmbeddedServletContainerFactory factory =
    new TomcatEmbeddedServletContainerFactory() {
      @Override
      protected void postProcessContext(Context context) {
        //SecurityConstraint必须存在,可以通过其为不同的URL设置不同的重定向策略。
        SecurityConstraint securityConstraint = new SecurityConstraint();
        securityConstraint.setUserConstraint("CONFIDENTIAL");
        SecurityCollection collection = new SecurityCollection();
        collection.addPattern("/*");
        securityConstraint.addCollection(collection);
        context.addConstraint(securityConstraint);
      }
    };
  factory.addAdditionalTomcatConnectors(createHttpConnector());
  return factory;
}
 
private Connector createHttpConnector() {
  Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
  connector.setScheme("http");
  connector.setSecure(false);
  connector.setPort(8080);
  connector.setRedirectPort(8443);
  return connector;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Spring  # Boot使用  # Https  # Boot  # 基于springboot设置Https请求过程解析  # spring boot配置ssl实现HTTPS的方法  # Spring Boot实现Undertow服务器同时支持HTTP2、HTTPS的方法  # springboot配置https访问的方法  # SpringBoot2.0如何启用https协议  # Spring boot通过HttpSessionListener监听器统计在线人数的实现代码  # springboot添加https服务器的方法  # 详解SpringBoot初始教程之Tomcat、Https配置以及Jetty优化  # Spring Boot支持HTTPS步骤详解  # 重定向  # 类中  # 巧妇难为无米之炊  # 就像  # 你可以  # 并在  # 要在  # 这段  # 可以通过  # 并将  # 只有一个  # 使其  # 要先  # 创建一个  # 大家多多  # 其为  # 端口号  # 使用了  # 如何在  # WebConfig 


相关文章: 建站之星安装路径如何正确选择及配置?  武清网站制作公司,天津武清个人营业执照注销查询系统网站?  如何在景安服务器上快速搭建个人网站?  C#如何使用XPathNavigator高效查询XML  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  建站之星后台密码遗忘如何找回?  如何有效防御Web建站篡改攻击?  定制建站价位费用解析与套餐推荐全攻略  如何在Tomcat中配置并部署网站项目?  无锡营销型网站制作公司,无锡网选车牌流程?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  如何在IIS中配置站点IP、端口及主机头?  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  建站主机是什么?如何选择适合的建站主机?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  如何在阿里云购买域名并搭建网站?  设计网站制作公司有哪些,制作网页教程?  Swift中swift中的switch 语句  表情包在线制作网站免费,表情包怎么弄?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  网站制作公司,橙子建站是合法的吗?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  如何使用Golang安装API文档生成工具_快速生成接口文档  非常酷的网站设计制作软件,酷培ai教育官方网站?  重庆网站制作公司哪家好,重庆中考招生办官方网站?  制作网站的过程怎么写,用凡科建站如何制作自己的网站?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  香港服务器如何优化才能显著提升网站加载速度?  建站主机与虚拟主机有何区别?如何选择最优方案?  陕西网站制作公司有哪些,陕西凌云电器有限公司官网?  广德云建站网站建设方案与建站流程优化指南  建站之星安装需要哪些步骤及注意事项?  完全自定义免费建站平台:主题模板在线生成一站式服务  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  如何在IIS7上新建站点并设置安全权限?  如何快速搭建虚拟主机网站?新手必看指南  简单实现Android文件上传  建站之星备案流程有哪些注意事项?  韩国服务器如何优化跨境访问实现高效连接?  青浦网站制作公司有哪些,苹果官网发货地是哪里?  XML的“混合内容”是什么 怎么用DTD或XSD定义  如何在阿里云完成域名注册与建站?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何快速上传建站程序避免常见错误?  ,交易猫的商品怎么发布到网站上去?  jQuery 常见小例汇总  微信小程序 input输入框控件详解及实例(多种示例)  北京专业网站制作设计师招聘,北京白云观官方网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。