zoukankan      html  css  js  c++  java
  • 17.Spring-Boot中HTTPS配置

    包结构

    https 

    //使用keytool生成本地证书 ,keytool是jdk自带的生成key工具,别名为tomcat

    keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650

    application.properties

    #配置https
    
    server.port=8443
    
    #.keystore放在了src/main/resources里面,默认是隐藏的,可以从盘符下看
    
    server.ssl.key-store=classpath:keystore.p12
    
    #用jdk生成key时的口令
    
    server.ssl.key-store-password=123456
    
    server.ssl.keyStoreType:PKCS12
    
    #key的别名
    
    server.ssl.keyAlias:tomcat

    HttpsConfig.java 配置http重定向https

    package com.niugang;
    
    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.context.embedded.EmbeddedServletContainerFactory;
    
    import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
    
    import org.springframework.context.annotation.Bean;
    
    import org.springframework.context.annotation.Configuration;
    
    
    
    /**
    
    * http重定向到https 配置文件类
    
    *
    
    * @author niugang
    
    *
    
    */
    
    @Configuration
    
    public class HttpsConfig {
    
    @Bean
    
    public EmbeddedServletContainerFactory servletContainer() {
    
    TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() {
    
    @Override
    
    protected void postProcessContext(Context context) {
    
    SecurityConstraint securityConstraint = new SecurityConstraint();
    
    securityConstraint.setUserConstraint("CONFIDENTIAL");
    
    SecurityCollection collection = new SecurityCollection();
    
    collection.addPattern("/*");
    
    securityConstraint.addCollection(collection);
    
    context.addConstraint(securityConstraint);
    
    }
    
    };
    
    tomcat.addAdditionalTomcatConnectors(httpConnector());
    
    return tomcat;
    
    }
    
    
    
    @Bean
    
    public Connector httpConnector() {
    
    Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
    
    connector.setScheme("http");
    
    connector.setPort(8080);
    
    connector.setSecure(false);
    
    connector.setRedirectPort(8443);
    
    return connector;
    
    }
    
    
    
    }

    运行

    htpp:// localhost:8080/myweb/index

    将重定向到

    https://localhost:8443/myweb/index

    微信公众号

                              
  • 相关阅读:
    windows快捷键
    android录音实现不再担心—一个案例帮你解决你的问题
    区块链到底是个什么鬼?一幅漫画让你秒懂!
    10个优秀个android项目,精选|快速开发
    精文推荐,12个开源项目开发必备,绝对干货
    送书拉! 08年新开始|福利近在咫尺
    用Kotlin破解Android版微信小游戏-跳一跳
    聊一聊正则表达式,最全最常用总结
    11个优秀的Android开发开源项目
    一招教你打造一个滑动置顶的视觉特效
  • 原文地址:https://www.cnblogs.com/niugang0920/p/12196721.html
Copyright © 2011-2022 走看看