• Spring Boot中启动HTTPS


    一,生成https 的证书

    1,在相应的根目录下

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

    解释:

    1.-storetype 指定密钥仓库类型 
    2.-keyalg 生证书的算法名称,RSA是一种非对称加密算法 
    3.-keysize 证书大小 
    4.-keystore 生成的证书文件的存储路径 
    5.-validity 证书的有效期(天)
    

      2,步骤

    配置文件application.properties添加https支持:
    
    #设定端口号
    service.port=8443 #指定签名文件 server.ssl.key
    -store=keystore.p12 #指定签名密码 server.ssl.key-store-password=111111(与生成的keystore.p12输入的密码 一直) #指定密钥仓库类型 server.ssl.keyStoreType=PKCS12 #设置别名 server.ssl.keyAlias:tomcat

    3,springboot 中创建configure ,使得http 自动转向https

       @Bean
        public EmbeddedServletContainerFactory servletContainer() {
            TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() {
                @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;
        }
    
        @Bean
        public Connector httpConnector() {
            Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
            connector.setScheme("http");
            //Connector监听的http的端口号
            connector.setPort(8080);
            connector.setSecure(false);
            //监听到http的端口号后转向到的https的端口号
            connector.setRedirectPort(8443);
            return connector;
        }

    4,测试 IP:port/xxxx ------------------>>>>>>>> https:IP:port/xxx

  • 相关阅读:
    fmri降噪,利用spatial+temporal信息
    matlab中,计算,记录,程序运行,起始,结束 时间,间隔 &matlab中 tic,toc函数的用法
    第十五章 动态规划——矩阵链乘法
    第十五章 动态规划——钢条切割
    第十四章 数据结构的扩张
    第十四章 红黑树——C++代码实现
    第十三章 红黑树
    第十二章 二叉搜索树
    第十一章 散列表
    第十章 基本数据结构——二叉树
  • 原文地址:https://www.cnblogs.com/xiaohu1218/p/10724921.html
Copyright © 2020-2023  润新知