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

  • 相关阅读:
    hdu 3507 Print Article —— 斜率优化DP
    bzoj 1096 仓库建设 —— 斜率优化DP
    ORDER BY 高级用法之CASE WHEN
    union和union all 的区别
    Ubuntu 链接ln的使用:创建和删除符号链接
    python中set和frozenset方法和区别
    python之sys模块详解
    odoo 8.0 多核启用
    Odoo 中的widget
    Odoo 在 Ubuntu 环境下性能调优
  • 原文地址:https://www.cnblogs.com/huigee/p/14603169.html
Copyright © 2011-2022 走看看