Uploaded image for project: 'Guacamole'
  1. Guacamole
  2. GUACAMOLE-891

Guacamole's RDP printer doesn't work if the UI lang of RDP host system is Russian and nginx reverse proxy is used

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Invalid
    • Affects Version/s: 1.0.0
    • Fix Version/s: None
    • Component/s: guacamole
    • Labels:
      None

      Description

      Guacamole's RDP printer will not work if:

      1. the user interface (or system) language of RDP host system is Russian;
      2. nginx reverse proxy is used with proxy_pass directive pointing to Guacamole's Tomcat URL.

      Instead, the browser sends a request to download the PDF that fails in Tomcat with code 400.

      If you change the UI language of RDP host to English, everything works fine, as well as if you connect to Tomcat directly (without nginx).

      This nginx config will cause the said problem:

      location /guacamole {
      proxy_pass http://192.168.1.1/guacamole/;
      }

      But the following config will NOT cause the said problem:

      location /guacamole {
      proxy_pass http://192.168.1.1;
      }

      Here's what is logged:

      guac guacd: Print job created
      guac guacd: Created PDF filter process PID=442
      guac guacd: Running gs
      guac: org.apache.coyote.http11.AbstractHttp11Processor process
      guac: INFO: Error parsing HTTP request header
      guac: Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
      guac: java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986

      We've been able to reproduce this on three separate installations of Guacamole 1.0.0 on CentOS and Ubuntu Server with three separate RDP hosts running Windows Server 2016 and 2019.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              dae Eugene / Dae
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: