diff --git a/pom.xml b/pom.xml
index 1fc9a25f8..554ba6f35 100644
--- a/pom.xml
+++ b/pom.xml
@@ -203,7 +203,11 @@
-
+
+ org.apache.tomcat
+ tomcat-catalina
+ 9.0.78
+
diff --git a/server.xml b/server.xml
index 86a0ae3d9..b6447b1d6 100644
--- a/server.xml
+++ b/server.xml
@@ -42,6 +42,7 @@
diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/common/StarterJpaConfig.java b/src/main/java/ca/uhn/fhir/jpa/starter/common/StarterJpaConfig.java
index 77af694d7..5f2be9e6c 100644
--- a/src/main/java/ca/uhn/fhir/jpa/starter/common/StarterJpaConfig.java
+++ b/src/main/java/ca/uhn/fhir/jpa/starter/common/StarterJpaConfig.java
@@ -66,6 +66,9 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;
+import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
+import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.*;
import org.springframework.core.env.ConfigurableEnvironment;
@@ -73,6 +76,7 @@
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.web.cors.CorsConfiguration;
+import org.apache.catalina.connector.Connector;
import javax.persistence.EntityManagerFactory;
import javax.sql.DataSource;
@@ -91,6 +95,26 @@ public class StarterJpaConfig {
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(StarterJpaConfig.class);
+ private static class EmbeddedTomcatCustomizer
+ implements WebServerFactoryCustomizer {
+ @Override
+ public void customize(TomcatServletWebServerFactory factory) {
+ factory.addConnectorCustomizers(new TomcatConnectorCustomizer() {
+ @Override
+ public void customize(Connector connector) {
+ connector.setAttribute("relaxedQueryChars", "<>[\\]^`{|}");
+ }
+ });
+ }
+ }
+
+ @Bean
+ public WebServerFactoryCustomizer
+ containerCustomizer(){
+ return new EmbeddedTomcatCustomizer();
+ }
+
+
@Bean
public IFulltextSearchSvc fullTextSearchSvc() {
return new FulltextSearchSvcImpl();