From 66e3aa5b21774ec8b387f42af04ae0aaca340ae4 Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Fri, 8 Jul 2022 15:52:07 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E7=BD=AEhttps=20.JKS=E7=9A=84SSL?= =?UTF-8?q?=E8=AF=81=E4=B9=A6=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/config/init/TomcatFactoryConfig.java | 44 +++++++++++++++++- .../src/main/resources/application-dev.yml | 6 ++- .../src/main/resources/bxxt.hzwlsoft.com.jks | Bin 0 -> 6166 bytes jero-boot/pom.xml | 1 + 4 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 jero-boot/jero-boot-single-startup/src/main/resources/bxxt.hzwlsoft.com.jks diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/config/init/TomcatFactoryConfig.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/config/init/TomcatFactoryConfig.java index 8ca4f6635..5256b528b 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/config/init/TomcatFactoryConfig.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/config/init/TomcatFactoryConfig.java @@ -1,7 +1,12 @@ package com.jero.config.init; import org.apache.catalina.Context; +import org.apache.catalina.connector.Connector; +import org.apache.coyote.http11.Http11NioProtocol; +import org.apache.tomcat.util.descriptor.web.SecurityCollection; +import org.apache.tomcat.util.descriptor.web.SecurityConstraint; import org.apache.tomcat.util.scan.StandardJarScanner; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -13,10 +18,15 @@ import org.springframework.context.annotation.Configuration; */ @Configuration public class TomcatFactoryConfig { + @Value("${server.port-https}") + private String serverPortHttp; + @Value("${server.port}") + private String serverPortHttps; + /** * tomcat-embed-jasper引用后提示jar找不到的问题 */ - @Bean + /*@Bean public TomcatServletWebServerFactory tomcatFactory() { TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory() { @Override @@ -29,5 +39,37 @@ public class TomcatFactoryConfig { connector.setProperty("relaxedQueryChars", "[]{}"); }); return factory; + }*/ + + @Bean + public TomcatServletWebServerFactory tomcatFactory() { + TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory() { + @Override + protected void postProcessContext(Context context) { + ((StandardJarScanner) context.getJarScanner()).setScanManifest(false); + + SecurityConstraint securityConstraint = new SecurityConstraint(); + securityConstraint.setUserConstraint("CONFIDENTIAL"); + SecurityCollection securityCollection = new SecurityCollection(); + securityCollection.addPattern("/*"); + securityConstraint.addCollection(securityCollection); + context.addConstraint(securityConstraint); + } + }; + factory.addConnectorCustomizers(connector -> { + connector.setProperty("relaxedPathChars", "[]{}"); + connector.setProperty("relaxedQueryChars", "[]{}"); + }); + factory.addAdditionalTomcatConnectors(redirectConnector()); + return factory; + } + + private Connector redirectConnector() { + Connector connector = new Connector(Http11NioProtocol.class.getName()); + connector.setScheme("http"); + connector.setPort(Integer.parseInt(serverPortHttp)); + connector.setSecure(false); + connector.setRedirectPort(Integer.parseInt(serverPortHttps)); + return connector; } } diff --git a/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml b/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml index cf284ac6f..391799eff 100644 --- a/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml +++ b/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml @@ -1,5 +1,6 @@ server: port: 8080 + port-https: 8089 #自定义https端口 tomcat: max-swallow-size: -1 error: @@ -12,7 +13,10 @@ server: enabled: true min-response-size: 1024 mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/* - + ssl: #配置https证书 + key-store: classpath:bxxt.hzwlsoft.com.jks + key-store-password: w933m5y1kz0xj8w + key-store-type: JKS management: endpoints: web: diff --git a/jero-boot/jero-boot-single-startup/src/main/resources/bxxt.hzwlsoft.com.jks b/jero-boot/jero-boot-single-startup/src/main/resources/bxxt.hzwlsoft.com.jks new file mode 100644 index 0000000000000000000000000000000000000000..38bbfad141812c52e08a0b72ec1b7dfb67f8e34b GIT binary patch literal 6166 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 W>T$`E59+*tz!fNNl)4$J;Qv2YOj!2- literal 0 HcmV?d00001 diff --git a/jero-boot/pom.xml b/jero-boot/pom.xml index c3f234115..6bee178cc 100644 --- a/jero-boot/pom.xml +++ b/jero-boot/pom.xml @@ -358,6 +358,7 @@ svg doc docx + jks