![]() > I don't know enough about docker to know if using 'rvice-name' in > '' is a valid domain name so that should be OK. (In reply to Mark Thomas from comment #11) This is just relevant because many microservices are deploped with spring boot and the current relase pulls in tomcat 8.5.31 which stops working wihtout reporting clear errors about the failures: In openshift there is really a hostname declared as maybe '' that worked before tomcat 8.5.31 I just checked docker swarm, or even openshift deployments. I tried just to show what would work for the hyphen problem as it will be the one which will fail now in many environments. I totally agree not to applying that patch. > Why would there be a HTTP request to "tasks." rather than is used (via DNS) to get a list of all of the tasks > My limited understanding after reading the Docket documentation is that (In reply to Mark Thomas from comment #8) Therefore, Tomcat does, from time to time, tighten up the validation of input data when gaps in validation are identified. While Tomcat doesn't have a formal policy, the general expectation is that clients confirm to the relevant RFCs. > Please check if such changes really correspond to your project policies. > This validation is a new feature introduced in a minor version change! > This effects version 8.5.31 too, which has much bigger impact to other Therefore, Tomcat does, from time to time, tighten up the validation of input data (In reply to Robert Rettig from comment #5) > currently -1 on applying it for that reason. > This patch is not consistent with the RFCs for host / domain names. > (In reply to Robert Rettig from comment #4) (In reply to Mark Thomas from comment #6) ProxyPassReverse / ajp://default_tomcat_1:8009/ ProxyPass / ajp://default_tomcat_1:8009/ retry=0 ProxyPassReverse /websocket ws://default_tomcat_1:8080/websocket ProxyPass /websocket ws://default_tomcat_1:8080/websocket retry=0 At the same time other requests routed via AJP are working fine cause they've got Apache public IP as "host". ![]() After debugging tomcat I understand that websocket requests go via Http11Processor and fail cause it receives this "default_tomcat_1" as host name from Apache. As a result after upgrading from tomcat 7.0.56 to 9.0.7 I have all websocket requests just failing with code 400. > ProxyPass websocket (http11) -> tomcat (same)Īll this runs as docker containers so in Apache config I connect to tomcat using name "default_tomcat_1" - given by docker (compose). If you need more info on config - I have:Īpache 2.4 -> ProxyPass ajp -> tomcat (java 10) I spend lots of time trying to debug the issue I had. : The character is never valid in a domain name.Īt .$DomainParseState.next(HttpParser.java:781)Īt .(HttpParser.java:673)Īt .(Host.java:66)Īt .(Host.java:40)Īt .parseHost(AbstractProcessor.java:269)Īt 11.Http11Processor.prepareRequest(Http11Processor.java:760)Īt 11.rvice(Http11Processor.java:383)Īt .process(AbstractProcessorLight.java:66)Īt $ConnectionHandler.process(AbstractProtocol.java:754)Īt .net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1376)Īt .(SocketProcessorBase.java:49)Īt java.base/.runWorker(ThreadPoolExecutor.java:1135)Īt java.base/$n(ThreadPoolExecutor.java:635)Īt .threads.TaskThread$n(TaskThread.java:61)Īt java.base/(Thread.java:844) In my case it was quite hard to trace the issue. It now sends 400 code without any traces in logs of what is the source of the problem.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |