Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Spring-boot, tomcat-embedded -- how define catalina.properties?

When running spring-boot with tomcat-embedded, how do I set/change these tomcat-config system-properties?

  • https://tomcat.apache.org/tomcat-8.5-doc/config/systemprops.html

I tried just adding -D... on the commandline, but doesnt seem to work.

like image 481
Rop Avatar asked Dec 05 '25 09:12

Rop


1 Answers

I am currently defining one of the catalina.properties via command line when starting my spring-boot application.

The property we are adding is: tomcat.util.http.parser.HttpParser.requestTargetAllow

The complete command I use to run the application is:

mvn -Dtomcat.util.http.parser.HttpParser.requestTargetAllow={} spring-boot:run

You should be able to append more catalina properties as follows:

mvn -Dtomcat.util.buf.StringCache.byte.enabled=true -Dtomcat.util.http.parser.HttpParser.requestTargetAllow={} spring-boot:run

And you could add any of the properties you mentioned here: https://tomcat.apache.org/tomcat-8.5-doc/config/systemprops.html

I ended up with this solution with the help of following posts:

https://bz.apache.org/bugzilla/show_bug.cgi?id=60594

Invalid character found in the request target in spring boot

Let me know if it works for you.

like image 112
Alvaro Lazaro Avatar answered Dec 06 '25 22:12

Alvaro Lazaro