您的位置:首页 > 运维架构 > Tomcat

Spring Boot Tomcat + https配置

2019-05-19 17:02 543 查看

一、生成https证书

keytool -genkey -keypass 123456 -storepass 123456 -alias tomcathttps -keyalg RSA -keysize 2048 -keystore E:/keytoolhttps -validity 365  

-genkey:b表示创建一个新的密匙

-alias:表示keystore别名

-keyalg:表示使用的加密算法市RSA,一种非对称加密算法

-keysize:表示密匙章度

-keystore :表示生成密匙存放位置

-validity:表示密匙有效时间,单位天

二、配置Tomcat和http文件

server:
   port: 8081
   error:
      path: /error    
   servlet: 
      context-path: /springboot
      session: 
            timeout: 30m
   tomcat:
      uri-encoding: utf-8
      max-threads: 500
      basedir: /home/sang/tmp
      max-http-header-size: 8192
   ssl:
      key-store: keytoolhttps
      key-alias: tomcathttps
      key-store-password: 123456

三、配置请求重定向


@Configuration  //@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被
                //AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。
                //(@Configuration不可以是final类型; @Configuration不可以是匿名类;嵌套的configuration必须是静态类。)
public class TomcatConfig {
    
    @Bean
    TomcatServletWebServerFactory tomcatServletWebServerFactory() {
        TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory() {
            protected void postProcessContext(org.apache.catalina.Context context) {
                SecurityConstraint constraint = new SecurityConstraint();
                constraint.setUserConstraint("CONFIDENTIAL");
                
                SecurityCollection collection = new SecurityCollection();
                collection.addPattern("/*");
                
                constraint.addCollection(collection);
                context.addConstraint(constraint);
            };
        
        };
        factory.addAdditionalTomcatConnectors(createTomcatConnector());
        return factory;
        
        
    }
    
    /**
     * 监听8080端口,并重定向到8081
     * @return
     */
    private Connector createTomcatConnector() {
        Connector connector =new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        connector.setPort(8080);
        connector.setSecure(false);
        connector.setRedirectPort(8081);
        return connector;
    }

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: