Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-31068

The reverse proxy monitor doesn't verify anymore if org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true on Tomcat

      When deployed under Tomcat, Jenkins requires to have this option set :

      -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
      

      This is a known issue/limitation/prerequisite like described in:

      The reverse proxy monitor was verifying this originally ( info confirmed by jglick ) :
      https://github.com/jenkinsci/jenkins/commit/724f9e0dfc2011d4c12e867bd85bc3f32c2b0513 (1.552)

      But it was lost in this commit: https://github.com/jenkinsci/jenkins/commit/cffe9df0176b0ff895554ce7f2ea4d2f20062351 (1.572)

      I'm not sure that all these controls should be in the same monitor but for sure the test must be done.

      Maybe:

      • to be re-added in the reverse proxy monitor to verify when the problem comes from the reverse proxy.
      • to be re- added as a specific Monitor for Tomcat because if org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH isn't set it will break some Jenkins features (400 HTTP Error - Bad Request with AJAX calls inside Folders for example, ...) even if there is no reverse proxy configured.

          [JENKINS-31068] The reverse proxy monitor doesn't verify anymore if org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true on Tomcat

          Arnaud Héritier created issue -
          Jesse Glick made changes -
          Link New: This issue is blocking JENKINS-23294 [ JENKINS-23294 ]
          Jesse Glick made changes -
          Link New: This issue is related to JENKINS-21335 [ JENKINS-21335 ]
          Jesse Glick made changes -
          Labels New: diagnostics reverse-proxy tomcat
          Jesse Glick made changes -
          Labels Original: diagnostics reverse-proxy tomcat New: diagnostics regression reverse-proxy tomcat

          Daniel Beck added a comment -

          to be re- added as a specific Monitor for Tomcat because if org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH isn't set it will break some Jenkins features (400 HTTP Error - Bad Request with AJAX calls inside Folders for example, ...) even if there is no reverse proxy configured.

          Not only Tomcat, Apache (reverse proxy) also screws up slashes.

          Daniel Beck added a comment - to be re- added as a specific Monitor for Tomcat because if org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH isn't set it will break some Jenkins features (400 HTTP Error - Bad Request with AJAX calls inside Folders for example, ...) even if there is no reverse proxy configured. Not only Tomcat, Apache (reverse proxy) also screws up slashes.
          R. Tyler Croy made changes -
          Workflow Original: JNJira [ 166236 ] New: JNJira + In-Review [ 182319 ]
          Daniel Beck made changes -
          Labels Original: diagnostics regression reverse-proxy tomcat New: diagnostics newbie-friendly regression reverse-proxy tomcat
          Josiah Haswell made changes -
          Assignee New: Josiah Haswell [ jhaswell ]
          Josiah Haswell made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]

            jhaswell Josiah Haswell
            aheritier Arnaud Héritier
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: