zoukankan      html  css  js  c++  java
  • springboot项目 配置https

    感谢  https://www.jianshu.com/p/1b7b9e0803c6

    帮我解决了问题

    生成自签名证书

    keytool -genkey -storetype PKCS12 -keysize 2048 -alias tomcat -keyalg RSA -keystore F:JavaMyKeystore	omcat.keystore

    生成成功后将证书放到项目根目录

    配置项目

    1. 配置application.properties
    server.port = 8843
    
    server.ssl.key-store = tomcat.keystore
    #你生成证书时输入的密码
    server.ssl.key-store-password = 123456
    server.ssl.key-store-type = PKCS12
    server.ssl.key-alias = tomcat

    创建https配置类

    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.web.embedded.tomcat.TomcatServletWebServerFactory;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.apache.catalina.Context;
    
    
    @Configuration
    public class HttpsConfiguration {
    
        @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;
        }
    
        public Connector httpConnector() {
            Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
            connector.setScheme("http");
    
            //connector监听的http端口号
            connector.setPort(6161);
            connector.setSecure(false);
    
            //监听到http的端口号后转向到的https的端口号
            connector.setRedirectPort(8843);
            return connector;
        }
        
    }


  • 相关阅读:
    王建军_百度百科
    腾讯研究院关于研究院
    创业公司3Gear Systems利用Kinect打造未来人机交互体验 | 36氪
    KVM切换器_互动百科
    保荐人考试
    Engadget 中文版征人启事 《 they're hiring
    吸血僵尸惊情四百年
    小霸王手机
    ARM、高通、德州仪器这三家芯片企业该怎么区分和评价?
    《美丽心灵》兼谈纳什均衡理论
  • 原文地址:https://www.cnblogs.com/aknife/p/11801202.html
Copyright © 2011-2022 走看看