diff --git a/api-catalog-services/src/main/resources/application.yml b/api-catalog-services/src/main/resources/application.yml index 2b64beadff..444543811f 100644 --- a/api-catalog-services/src/main/resources/application.yml +++ b/api-catalog-services/src/main/resources/application.yml @@ -39,6 +39,7 @@ logging: # New Config org.apache: WARN #org.apache.catalina, org.apache.coyote, org.apache.tomcat + org.apache.tomcat.util.net.SSLUtilBase: ERROR org.eclipse.jetty: WARN org.apache.http.conn.ssl.DefaultHostnameVerifier: DEBUG #logs only SSLException javax.net.ssl: ERROR diff --git a/discovery-service/src/main/resources/application.yml b/discovery-service/src/main/resources/application.yml index ca514eea47..34ad91bd56 100644 --- a/discovery-service/src/main/resources/application.yml +++ b/discovery-service/src/main/resources/application.yml @@ -18,6 +18,7 @@ logging: org.eclipse.jetty: WARN org.apache.http.conn.ssl.DefaultHostnameVerifier: DEBUG #logs only SSLException javax.net.ssl: ERROR + org.apache.tomcat.util.net.SSLUtilBase: ERROR # com.netflix.eureka.resources: WARN apiml: diff --git a/gateway-service/src/main/java/org/zowe/apiml/gateway/config/ConnectionsConfig.java b/gateway-service/src/main/java/org/zowe/apiml/gateway/config/ConnectionsConfig.java index 5467fb212b..0717a4a1e5 100644 --- a/gateway-service/src/main/java/org/zowe/apiml/gateway/config/ConnectionsConfig.java +++ b/gateway-service/src/main/java/org/zowe/apiml/gateway/config/ConnectionsConfig.java @@ -173,18 +173,13 @@ public HttpsFactory factory() { } /** - * This bean processor is used to override bean routingFilter defined at - * org.springframework.cloud.gateway.config.GatewayAutoConfiguration.NettyConfiguration#routingFilter(HttpClient, ObjectProvider, HttpClientProperties) - *

- * There is no simple way how to override this specific bean, but bean processing could handle that. - * * @param httpClient default http client * @param headersFiltersProvider header filter for spring gateway router * @param properties client HTTP properties - * @return bean processor to replace NettyRoutingFilter by NettyRoutingFilterApiml + * @return instance of NettyRoutingFilterApiml */ @Bean - public BeanPostProcessor routingFilterHandler(HttpClient httpClient, ObjectProvider> headersFiltersProvider, HttpClientProperties properties) { + public NettyRoutingFilterApiml createNettyRoutingFilterApiml(HttpClient httpClient, ObjectProvider> headersFiltersProvider, HttpClientProperties properties) { // obtain SSL contexts (one with keystore to support client cert sign and truststore, second just with truststore) SslContext justTruststore = sslContext(false); SslContext withKeystore = sslContext(true); @@ -199,13 +194,27 @@ public BeanPostProcessor routingFilterHandler(HttpClient httpClient, ObjectProvi // construct http clients with different SSL configuration - with / without client certs var httpClientNoCert = httpClient.secure(builderJustTruststore.build()); var httpClientClientCert = httpClient.secure(builderWithKeystore.build()); + + return new NettyRoutingFilterApiml(httpClientNoCert, httpClientClientCert, headersFiltersProvider, properties); + } + + /** + * This bean processor is used to override bean routingFilter defined at + * org.springframework.cloud.gateway.config.GatewayAutoConfiguration.NettyConfiguration#routingFilter(HttpClient, ObjectProvider, HttpClientProperties) + *

+ * There is no simple way how to override this specific bean, but bean processing could handle that. + * + * @return bean processor to replace NettyRoutingFilter by NettyRoutingFilterApiml + */ + @Bean + public static BeanPostProcessor routingFilterHandler(ApplicationContext context) { return new BeanPostProcessor() { @Override public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { if ("routingFilter".equals(beanName)) { log.debug("Updating routing bean {}", NettyRoutingFilterApiml.class); // once is creating original bean by autoconfiguration replace it with custom implementation - return new NettyRoutingFilterApiml(httpClientNoCert, httpClientClientCert, headersFiltersProvider, properties); + return context.getBean(NettyRoutingFilterApiml.class); } // do not touch any other bean return bean; diff --git a/mock-services/src/main/resources/application.yml b/mock-services/src/main/resources/application.yml index cdd44ff51a..61df059349 100644 --- a/mock-services/src/main/resources/application.yml +++ b/mock-services/src/main/resources/application.yml @@ -1,3 +1,7 @@ +logging: + level: + ROOT: INFO + org.apache.tomcat.util.net.SSLUtilBase: ERROR spring: application: name: Mock services