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

    微信公众号

                              
  • 相关阅读:
    Kubernetes Conditions
    自动造数据利器,Faker 了解一下?
    2021年软件测试工具大全(自动化、接口、性能、安全、测试管理)
    低代码开发,推荐一款Web 端自动化神器:Automa
    自动化测试常见问题总结!(适合新手团队)
    Java 将PPT转为OFD E
    Java 将PDF转为线性PDF E
    C# 将Excel转为PDF时自定义表格纸张大小 E
    C# / VB.NET 在Word中嵌入多媒体(视频、音频)文件 E
    C# 扫描识别图片中的文字(.NET Framework) E
  • 原文地址:https://www.cnblogs.com/niugang0920/p/12196721.html
Copyright © 2011-2022 走看看