zoukankan      html  css  js  c++  java
  • Spring Boot配置ssl证书启用HTTPS协议

    生成证书,可以使自签名或者从SSL证书授权中心获得的。
    cmd进入JDK安装目录(D:Javajre1.8.0_181in),利用keytool证书管理工具,生成自签名证书。
    生成命令如下(找不到keytoo命令的先去配置java环境)
    我指定的名字叫tomcat.keystore 别名叫tomcat,密码自己设置,我这里用的tomcat,最后那个直接按得回车
    keytoo命令:

    keytool -genkey -alias tomcat -keyalg RSA -keystore D:/httpsKey/tomcat.keystore
    

      

     

     2.SpringBoot配置SSL
    将生成的自签名证书:tomcat.keystore拷贝到项目根目录下,与application.yml同级,如下图所示:

     

     3.配置application.yml

    server:
      port: 8084
      ssl:
         key-store: classpath:tomcat.keystore #证书的路径
         key-store-password: 123456 #证书密码,请修改为您自己证书的密码
         key-store-type: JKS #证书类型(秘钥库类型)
         key-alias: tomcat #证书别名
         enabled: true #开启HTTPS

    4.http访问自动转https访问
    在启动类中添加如下两个方法,更改tomcat配置

    @EnableSwagger2
    @ComponentScan(basePackages = "com.guodi")
    @SpringBootApplication
    public class Application
            extends SpringBootServletInitializer
    {
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
            return application.sources(Application.class);
        }
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
        /**
         * 将http请求变成https请求
         * @return
         */
        @Bean
        public ServletWebServerFactory servletContainer() {
            TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
            tomcat.addAdditionalTomcatConnectors(createStandardConnector());
            return tomcat;
        }
        /**
         * 将http请求变成https请求
         * @return
         */
        private Connector createStandardConnector() {
            Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
            connector.setPort(8083);
            return connector;
        }
     
    }

    在启动的时候就会发现两个端口,一个https,与一个http

  • 相关阅读:
    再谈Dilworth定理
    区间动态规划
    单调队列优化动态规划
    暑假集训考试R2 konomi 慕
    NOIP 2000 计算器的改良
    2007 Simulation message
    COCI 2003 LIFTOVI 电梯 SPFA
    NOIP 2003 数字游戏
    USACO 2014 DEC Guard Mark 状态压缩
    使用HttpClient发送GET请求
  • 原文地址:https://www.cnblogs.com/huigee/p/14603169.html
Copyright © 2011-2022 走看看