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

    微信公众号

                              
  • 相关阅读:
    网站设计中常见的几个错误
    C#的一个小函数来计算一个运算使用的时间和内存
    移动位置社交服务全球热潮日益高涨
    Opera CEO 专访:开源真的那么重要吗?
    N73和蓝牙GPS接收器LD3W----Route66 Mobile7中国版
    激励员工的首席执行官以及他们的秘诀
    2008年智能手机五大发展趋势
    J2EE初学者从这里入门
    Windows Mobile 5.0 开发学习
    手机开发平台指南、教程和资料介绍
  • 原文地址:https://www.cnblogs.com/niugang0920/p/12196721.html
Copyright © 2011-2022 走看看