guacamole-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Justin Gauthier <jus...@justin-tech.com>
Subject OpenID-Connect HTTP 500
Date Thu, 08 Feb 2018 06:05:19 GMT
Hello everyone,

I am trying to setup Guacamole 0.9.14 (from source) on Tomcat 7.0.76 on CentOS 7 (centos-release-7-4.1708),
with the OpenID-Connect authentication module (from source), and Keycloak (http://www.keycloak.org/).
Both of these are sitting behind an Nginx reverse proxy with SSL offloading enabled.

These are the settings I have in /etc/guacamole/guacamole.properties:

# OpenID-connect
openid-authorization-endpoint: https://keycloak.justin-tech.com/auth/realms/Justin-Tech/protocol/openid-connect/auth
openid-jwks-endpoint: https://keycloak.justin-tech.com/auth/realms/Justin-Tech/protocol/openid-connect/certs
openid-issuer: https://keycloak.justin-tech.com/auth/realms/Justin-Tech
openid-client-id: Guacamole
openid-redirect-id: https://guacamole.justin-tech.com/
#openid-scope: openid

Along with configuration for Postgres database and Duo auth (disabled for testing with OpenID).

Based on the documentation (https://guacamole.apache.org/doc/gug/openid-auth.html) I have
gotten this information from the OpenID Connect Discovery JSON file at /.well-known/openid-configuration,
with the client-id being based on the name of the Client ID property in Keycloak, and the
redirect URL being the publicly accessible URL for Guacamole.

The settings in Keycloak are:

Client ID: Guacamole
Access Type: public
Standard Flow Enabled: Off
Implicit Flow Enabled: On
Direct Access Grants Enabled: Off
Authorization Enabled: Off
Root URL: https://guacamole.justin-tech.com
Valid Redirect URIs: https://guacamole.justin-tech.com/*
Admin URL: https://guacamole.justin-tech.com
Web Origins: https://guacamole.justin-tech.com

Mappers are:

Username, given name, full name, email, and family name

Scope:

Full Scope Allowed: On

When trying to load the Guacamole login page, I am met with a blank white screen.

Nginx configuration:

upstream guacamole {
  server guacamole01.corp.justin-tech.com:8080;
}

server {
    listen 443 ssl;
    server_name guacamole.justin-tech.com;
    ssl on;
        # Remember to comment these out if you need to change their defaults
        include snippets/ssl-defaults.conf;

    proxy_buffering off;
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $http_connection;
    access_log off;

    location / {
      proxy_pass http://guacamole/guacamole/;
    }
ssl_certificate /etc/letsencrypt/live/justin-tech.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/justin-tech.com/privkey.pem; # managed by Certbot

}

catalina.log:

Feb 08, 2018 12:03:41 AM com.sun.jersey.spi.container.ContainerResponse logException
SEVERE: Mapped exception to response: 500 (Internal Server Error)
org.apache.guacamole.rest.APIException
	at org.apache.guacamole.rest.RESTExceptionWrapper.invoke(RESTExceptionWrapper.java:184)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
	at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
	at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
	at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
	at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
	at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
	at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)
	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)
	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)
	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)
	at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)

Feb 08, 2018 12:04:19 AM org.apache.coyote.http11.AbstractHttp11Processor process
INFO: Error parsing HTTP request header
 Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names
must be tokens
	at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:136)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1000)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)

Feb 08, 2018 12:04:19 AM org.apache.coyote.http11.AbstractHttp11Processor process
INFO: Error parsing HTTP request header
 Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names
must be tokens
	at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:136)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1000)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)

Feb 08, 2018 12:04:25 AM org.apache.coyote.http11.AbstractHttp11Processor process
INFO: Error parsing HTTP request header
 Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names
must be tokens
	at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:136)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1000)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)

Feb 08, 2018 12:04:25 AM org.apache.coyote.http11.AbstractHttp11Processor process
INFO: Error parsing HTTP request header
 Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names
must be tokens
	at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:136)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1000)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)

Feb 08, 2018 12:20:12 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/jquery/2.1.3/dist/jquery.min.js
Feb 08, 2018 12:20:12 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular/1.3.16/angular.min.js
Feb 08, 2018 12:20:12 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-translate-loader-static-files/2.8.0/angular-translate-loader-static-files.min.js
Feb 08, 2018 12:20:12 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-cookies/1.3.16/angular-cookies.min.js
Feb 08, 2018 12:20:12 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/lodash/2.4.1/dist/lodash.min.js
Feb 08, 2018 12:20:12 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/filesaver/1.3.3/FileSaver.min.js
Feb 08, 2018 12:20:12 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-route/1.3.16/angular-route.min.js
Feb 08, 2018 12:20:12 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-touch/1.3.16/angular-touch.min.js
Feb 08, 2018 12:20:12 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/messageformat/1.0.2/messageformat.min.js
Feb 08, 2018 12:20:12 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-translate/2.8.0/angular-translate.min.js
Feb 08, 2018 12:20:12 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-translate-interpolation-messageformat/2.8.0/angular-translate-interpolation-messageformat.min.js
Feb 08, 2018 12:20:12 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/blob-polyfill/1.0.20150320/Blob.js
Feb 08, 2018 12:20:12 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-module-shim/0.0.4/angular-module-shim.js
Feb 08, 2018 12:20:13 AM com.sun.jersey.spi.container.ContainerResponse logException
SEVERE: Mapped exception to response: 500 (Internal Server Error)
org.apache.guacamole.rest.APIException
	at org.apache.guacamole.rest.RESTExceptionWrapper.invoke(RESTExceptionWrapper.java:184)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
	at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
	at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
	at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
	at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
	at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
	at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)
	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)
	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)
	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)
	at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)

Feb 08, 2018 12:32:53 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-module-shim/0.0.4/angular-module-shim.js
Feb 08, 2018 12:32:53 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular/1.3.16/angular.min.js
Feb 08, 2018 12:32:53 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-touch/1.3.16/angular-touch.min.js
Feb 08, 2018 12:32:53 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-cookies/1.3.16/angular-cookies.min.js
Feb 08, 2018 12:32:53 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/jquery/2.1.3/dist/jquery.min.js
Feb 08, 2018 12:32:53 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/lodash/2.4.1/dist/lodash.min.js
Feb 08, 2018 12:32:53 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-translate-loader-static-files/2.8.0/angular-translate-loader-static-files.min.js
Feb 08, 2018 12:32:53 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-route/1.3.16/angular-route.min.js
Feb 08, 2018 12:32:53 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/filesaver/1.3.3/FileSaver.min.js
Feb 08, 2018 12:32:53 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/messageformat/1.0.2/messageformat.min.js
Feb 08, 2018 12:32:53 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-translate/2.8.0/angular-translate.min.js
Feb 08, 2018 12:32:53 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-translate-interpolation-messageformat/2.8.0/angular-translate-interpolation-messageformat.min.js
Feb 08, 2018 12:32:53 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/blob-polyfill/1.0.20150320/Blob.js
Feb 08, 2018 12:32:53 AM com.sun.jersey.spi.container.ContainerResponse logException
SEVERE: Mapped exception to response: 500 (Internal Server Error)
org.apache.guacamole.rest.APIException
	at org.apache.guacamole.rest.RESTExceptionWrapper.invoke(RESTExceptionWrapper.java:184)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
	at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
	at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
	at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
	at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
	at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
	at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)
	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)
	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)
	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)
	at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)

Feb 08, 2018 12:33:07 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/jquery/2.1.3/dist/jquery.min.js
Feb 08, 2018 12:33:07 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-cookies/1.3.16/angular-cookies.min.js
Feb 08, 2018 12:33:07 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/lodash/2.4.1/dist/lodash.min.js
Feb 08, 2018 12:33:07 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular/1.3.16/angular.min.js
Feb 08, 2018 12:33:07 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-route/1.3.16/angular-route.min.js
Feb 08, 2018 12:33:07 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/messageformat/1.0.2/messageformat.min.js
Feb 08, 2018 12:33:07 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-touch/1.3.16/angular-touch.min.js
Feb 08, 2018 12:33:07 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-translate/2.8.0/angular-translate.min.js
Feb 08, 2018 12:33:07 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-translate-interpolation-messageformat/2.8.0/angular-translate-interpolation-messageformat.min.js
Feb 08, 2018 12:33:07 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-translate-loader-static-files/2.8.0/angular-translate-loader-static-files.min.js
Feb 08, 2018 12:33:07 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/blob-polyfill/1.0.20150320/Blob.js
Feb 08, 2018 12:33:07 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/filesaver/1.3.3/FileSaver.min.js
Feb 08, 2018 12:33:07 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-module-shim/0.0.4/angular-module-shim.js
Feb 08, 2018 12:33:07 AM com.sun.jersey.spi.container.ContainerResponse logException
SEVERE: Mapped exception to response: 500 (Internal Server Error)
org.apache.guacamole.rest.APIException
	at org.apache.guacamole.rest.RESTExceptionWrapper.invoke(RESTExceptionWrapper.java:184)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
	at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
	at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
	at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
	at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
	at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
	at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)
	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)
	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)
	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)
	at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)

Feb 08, 2018 12:33:16 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-route/1.3.16/angular-route.min.js
Feb 08, 2018 12:33:16 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-touch/1.3.16/angular-touch.min.js
Feb 08, 2018 12:33:16 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/messageformat/1.0.2/messageformat.min.js
Feb 08, 2018 12:33:16 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-translate/2.8.0/angular-translate.min.js
Feb 08, 2018 12:33:16 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-translate-interpolation-messageformat/2.8.0/angular-translate-interpolation-messageformat.min.js
Feb 08, 2018 12:33:16 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-cookies/1.3.16/angular-cookies.min.js
Feb 08, 2018 12:33:16 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular/1.3.16/angular.min.js
Feb 08, 2018 12:33:16 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/lodash/2.4.1/dist/lodash.min.js
Feb 08, 2018 12:33:16 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-translate-loader-static-files/2.8.0/angular-translate-loader-static-files.min.js
Feb 08, 2018 12:33:16 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/blob-polyfill/1.0.20150320/Blob.js
Feb 08, 2018 12:33:16 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/jquery/2.1.3/dist/jquery.min.js
Feb 08, 2018 12:33:16 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/filesaver/1.3.3/FileSaver.min.js
Feb 08, 2018 12:33:16 AM org.webjars.servlet.WebjarsServlet doGet
INFO: Webjars resource requested: /META-INF/resources/webjars/angular-module-shim/0.0.4/angular-module-shim.js
Feb 08, 2018 12:33:16 AM com.sun.jersey.spi.container.ContainerResponse logException
SEVERE: Mapped exception to response: 500 (Internal Server Error)
org.apache.guacamole.rest.APIException
	at org.apache.guacamole.rest.RESTExceptionWrapper.invoke(RESTExceptionWrapper.java:184)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
	at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
	at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
	at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
	at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
	at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
	at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)
	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)
	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)
	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)
	at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)

localhost_access_log.txt:

10.0.60.20 - - [08/Feb/2018:00:03:40 -0500] "GET /guacamole/app.css?v=0.9.14 HTTP/1.1" 304
-
10.0.60.20 - - [08/Feb/2018:00:03:40 -0500] "GET /guacamole/app.js?v=0.9.14 HTTP/1.1" 304
-
10.0.60.20 - - [08/Feb/2018:00:03:40 -0500] "GET /guacamole/api/languages?token=[TOKEN] HTTP/1.1"
200 136
10.0.60.20 - - [08/Feb/2018:00:03:40 -0500] "GET /guacamole/api/patches?token=[TOKEN] HTTP/1.1"
200 352
10.0.60.20 - - [08/Feb/2018:00:03:41 -0500] "POST /guacamole/api/tokens HTTP/1.1" 500 215
10.0.60.20 - - [08/Feb/2018:00:03:41 -0500] "GET /guacamole/translations/en.json HTTP/1.1"
304 -
10.0.1.227 - - [08/Feb/2018:00:04:19 -0500] "-" 400 -
10.0.1.227 - - [08/Feb/2018:00:04:19 -0500] "-" 400 -
10.0.1.227 - - [08/Feb/2018:00:04:25 -0500] "-" 400 -
10.0.1.227 - - [08/Feb/2018:00:04:25 -0500] "-" 400 -
10.0.60.20 - - [08/Feb/2018:00:20:12 -0500] "GET /guacamole/ HTTP/1.1" 304 -
10.0.60.20 - - [08/Feb/2018:00:20:12 -0500] "GET /guacamole/relocateParameters.js HTTP/1.1"
304 -
10.0.60.20 - - [08/Feb/2018:00:20:12 -0500] "GET /guacamole/webjars/jquery/2.1.3/dist/jquery.min.js
HTTP/1.1" 200 84447
10.0.60.20 - - [08/Feb/2018:00:20:12 -0500] "GET /guacamole/webjars/angular/1.3.16/angular.min.js
HTTP/1.1" 200 126532
10.0.60.20 - - [08/Feb/2018:00:20:12 -0500] "GET /guacamole/app.css?v=0.9.14 HTTP/1.1" 304
-
10.0.60.20 - - [08/Feb/2018:00:20:12 -0500] "GET /guacamole/webjars/angular-translate-loader-static-files/2.8.0/angular-translate-loader-static-files.min.js
HTTP/1.1" 200 1353
10.0.60.20 - - [08/Feb/2018:00:20:12 -0500] "GET /guacamole/webjars/angular-cookies/1.3.16/angular-cookies.min.js
HTTP/1.1" 200 865
10.0.60.20 - - [08/Feb/2018:00:20:12 -0500] "GET /guacamole/webjars/lodash/2.4.1/dist/lodash.min.js
HTTP/1.1" 200 28187
10.0.60.20 - - [08/Feb/2018:00:20:12 -0500] "GET /guacamole/webjars/filesaver/1.3.3/FileSaver.min.js
HTTP/1.1" 200 2446
10.0.60.20 - - [08/Feb/2018:00:20:12 -0500] "GET /guacamole/webjars/angular-route/1.3.16/angular-route.min.js
HTTP/1.1" 200 4409
10.0.60.20 - - [08/Feb/2018:00:20:12 -0500] "GET /guacamole/webjars/angular-touch/1.3.16/angular-touch.min.js
HTTP/1.1" 200 3608
10.0.60.20 - - [08/Feb/2018:00:20:12 -0500] "GET /guacamole/webjars/messageformat/1.0.2/messageformat.min.js
HTTP/1.1" 200 49339
10.0.60.20 - - [08/Feb/2018:00:20:12 -0500] "GET /guacamole/webjars/angular-translate/2.8.0/angular-translate.min.js
HTTP/1.1" 200 20251
10.0.60.20 - - [08/Feb/2018:00:20:12 -0500] "GET /guacamole/webjars/angular-translate-interpolation-messageformat/2.8.0/angular-translate-interpolation-messageformat.min.js
HTTP/1.1" 200 1277
10.0.60.20 - - [08/Feb/2018:00:20:12 -0500] "GET /guacamole/webjars/blob-polyfill/1.0.20150320/Blob.js
HTTP/1.1" 200 6148
10.0.60.20 - - [08/Feb/2018:00:20:12 -0500] "GET /guacamole/webjars/angular-module-shim/0.0.4/angular-module-shim.js
HTTP/1.1" 200 774
10.0.60.20 - - [08/Feb/2018:00:20:12 -0500] "GET /guacamole/app.js?v=0.9.14 HTTP/1.1" 304
-
10.0.60.20 - - [08/Feb/2018:00:20:13 -0500] "GET /guacamole/api/languages?token=[TOKEN] HTTP/1.1"
200 136
10.0.60.20 - - [08/Feb/2018:00:20:13 -0500] "GET /guacamole/api/patches?token=[TOKEN] HTTP/1.1"
200 352
10.0.60.20 - - [08/Feb/2018:00:20:13 -0500] "POST /guacamole/api/tokens HTTP/1.1" 500 215
10.0.60.20 - - [08/Feb/2018:00:20:13 -0500] "GET /guacamole/translations/en.json HTTP/1.1"
304 -
10.0.60.20 - - [08/Feb/2018:00:32:52 -0500] "GET /guacamole/ HTTP/1.1" 304 -
10.0.60.20 - - [08/Feb/2018:00:32:53 -0500] "GET /guacamole/app.css?v=0.9.14 HTTP/1.1" 304
-
10.0.60.20 - - [08/Feb/2018:00:32:53 -0500] "GET /guacamole/webjars/angular-module-shim/0.0.4/angular-module-shim.js
HTTP/1.1" 200 774
10.0.60.20 - - [08/Feb/2018:00:32:53 -0500] "GET /guacamole/webjars/angular/1.3.16/angular.min.js
HTTP/1.1" 200 126532
10.0.60.20 - - [08/Feb/2018:00:32:53 -0500] "GET /guacamole/relocateParameters.js HTTP/1.1"
304 -
10.0.60.20 - - [08/Feb/2018:00:32:53 -0500] "GET /guacamole/webjars/angular-touch/1.3.16/angular-touch.min.js
HTTP/1.1" 200 3608
10.0.60.20 - - [08/Feb/2018:00:32:53 -0500] "GET /guacamole/webjars/angular-cookies/1.3.16/angular-cookies.min.js
HTTP/1.1" 200 865
10.0.60.20 - - [08/Feb/2018:00:32:53 -0500] "GET /guacamole/webjars/jquery/2.1.3/dist/jquery.min.js
HTTP/1.1" 200 84447
10.0.60.20 - - [08/Feb/2018:00:32:53 -0500] "GET /guacamole/webjars/lodash/2.4.1/dist/lodash.min.js
HTTP/1.1" 200 28187
10.0.60.20 - - [08/Feb/2018:00:32:53 -0500] "GET /guacamole/webjars/angular-translate-loader-static-files/2.8.0/angular-translate-loader-static-files.min.js
HTTP/1.1" 200 1353
10.0.60.20 - - [08/Feb/2018:00:32:53 -0500] "GET /guacamole/webjars/angular-route/1.3.16/angular-route.min.js
HTTP/1.1" 200 4409
10.0.60.20 - - [08/Feb/2018:00:32:53 -0500] "GET /guacamole/webjars/filesaver/1.3.3/FileSaver.min.js
HTTP/1.1" 200 2446
10.0.60.20 - - [08/Feb/2018:00:32:53 -0500] "GET /guacamole/webjars/messageformat/1.0.2/messageformat.min.js
HTTP/1.1" 200 49339
10.0.60.20 - - [08/Feb/2018:00:32:53 -0500] "GET /guacamole/webjars/angular-translate/2.8.0/angular-translate.min.js
HTTP/1.1" 200 20251
10.0.60.20 - - [08/Feb/2018:00:32:53 -0500] "GET /guacamole/webjars/angular-translate-interpolation-messageformat/2.8.0/angular-translate-interpolation-messageformat.min.js
HTTP/1.1" 200 1277
10.0.60.20 - - [08/Feb/2018:00:32:53 -0500] "GET /guacamole/webjars/blob-polyfill/1.0.20150320/Blob.js
HTTP/1.1" 200 6148
10.0.60.20 - - [08/Feb/2018:00:32:53 -0500] "GET /guacamole/app.js?v=0.9.14 HTTP/1.1" 304
-
10.0.60.20 - - [08/Feb/2018:00:32:53 -0500] "GET /guacamole/api/languages?token=[TOKEN] HTTP/1.1"
200 136
10.0.60.20 - - [08/Feb/2018:00:32:53 -0500] "GET /guacamole/api/patches?token=[TOKEN] HTTP/1.1"
200 352
10.0.60.20 - - [08/Feb/2018:00:32:53 -0500] "POST /guacamole/api/tokens HTTP/1.1" 500 215
10.0.60.20 - - [08/Feb/2018:00:32:53 -0500] "GET /guacamole/translations/en.json HTTP/1.1"
304 -
10.0.60.20 - - [08/Feb/2018:00:33:07 -0500] "GET /guacamole/ HTTP/1.1" 304 -
10.0.60.20 - - [08/Feb/2018:00:33:07 -0500] "GET /guacamole/app.css?v=0.9.14 HTTP/1.1" 304
-
10.0.60.20 - - [08/Feb/2018:00:33:07 -0500] "GET /guacamole/webjars/jquery/2.1.3/dist/jquery.min.js
HTTP/1.1" 200 84447
10.0.60.20 - - [08/Feb/2018:00:33:07 -0500] "GET /guacamole/relocateParameters.js HTTP/1.1"
304 -
10.0.60.20 - - [08/Feb/2018:00:33:07 -0500] "GET /guacamole/webjars/angular-cookies/1.3.16/angular-cookies.min.js
HTTP/1.1" 200 865
10.0.60.20 - - [08/Feb/2018:00:33:07 -0500] "GET /guacamole/webjars/lodash/2.4.1/dist/lodash.min.js
HTTP/1.1" 200 28187
10.0.60.20 - - [08/Feb/2018:00:33:07 -0500] "GET /guacamole/webjars/angular/1.3.16/angular.min.js
HTTP/1.1" 200 126532
10.0.60.20 - - [08/Feb/2018:00:33:07 -0500] "GET /guacamole/webjars/angular-route/1.3.16/angular-route.min.js
HTTP/1.1" 200 4409
10.0.60.20 - - [08/Feb/2018:00:33:07 -0500] "GET /guacamole/webjars/messageformat/1.0.2/messageformat.min.js
HTTP/1.1" 200 49339
10.0.60.20 - - [08/Feb/2018:00:33:07 -0500] "GET /guacamole/webjars/angular-touch/1.3.16/angular-touch.min.js
HTTP/1.1" 200 3608
10.0.60.20 - - [08/Feb/2018:00:33:07 -0500] "GET /guacamole/webjars/angular-translate/2.8.0/angular-translate.min.js
HTTP/1.1" 200 20251
10.0.60.20 - - [08/Feb/2018:00:33:07 -0500] "GET /guacamole/webjars/angular-translate-interpolation-messageformat/2.8.0/angular-translate-interpolation-messageformat.min.js
HTTP/1.1" 200 1277
10.0.60.20 - - [08/Feb/2018:00:33:07 -0500] "GET /guacamole/webjars/angular-translate-loader-static-files/2.8.0/angular-translate-loader-static-files.min.js
HTTP/1.1" 200 1353
10.0.60.20 - - [08/Feb/2018:00:33:07 -0500] "GET /guacamole/webjars/blob-polyfill/1.0.20150320/Blob.js
HTTP/1.1" 200 6148
10.0.60.20 - - [08/Feb/2018:00:33:07 -0500] "GET /guacamole/webjars/filesaver/1.3.3/FileSaver.min.js
HTTP/1.1" 200 2446
10.0.60.20 - - [08/Feb/2018:00:33:07 -0500] "GET /guacamole/webjars/angular-module-shim/0.0.4/angular-module-shim.js
HTTP/1.1" 200 774
10.0.60.20 - - [08/Feb/2018:00:33:07 -0500] "GET /guacamole/app.js?v=0.9.14 HTTP/1.1" 304
-
10.0.60.20 - - [08/Feb/2018:00:33:07 -0500] "GET /guacamole/api/languages?token=[TOKEN] HTTP/1.1"
200 136
10.0.60.20 - - [08/Feb/2018:00:33:07 -0500] "GET /guacamole/api/patches?token=[TOKEN] HTTP/1.1"
200 352
10.0.60.20 - - [08/Feb/2018:00:33:07 -0500] "POST /guacamole/api/tokens HTTP/1.1" 500 215
10.0.60.20 - - [08/Feb/2018:00:33:15 -0500] "GET /guacamole/ HTTP/1.1" 200 4442
10.0.60.20 - - [08/Feb/2018:00:33:16 -0500] "GET /guacamole/app.css?v=0.9.14 HTTP/1.1" 200
49193
10.0.60.20 - - [08/Feb/2018:00:33:16 -0500] "GET /guacamole/webjars/angular-route/1.3.16/angular-route.min.js
HTTP/1.1" 200 4409
10.0.60.20 - - [08/Feb/2018:00:33:16 -0500] "GET /guacamole/relocateParameters.js HTTP/1.1"
200 4505
10.0.60.20 - - [08/Feb/2018:00:33:16 -0500] "GET /guacamole/webjars/angular-touch/1.3.16/angular-touch.min.js
HTTP/1.1" 200 3608
10.0.60.20 - - [08/Feb/2018:00:33:16 -0500] "GET /guacamole/webjars/messageformat/1.0.2/messageformat.min.js
HTTP/1.1" 200 49339
10.0.60.20 - - [08/Feb/2018:00:33:16 -0500] "GET /guacamole/webjars/angular-translate/2.8.0/angular-translate.min.js
HTTP/1.1" 200 20251
10.0.60.20 - - [08/Feb/2018:00:33:16 -0500] "GET /guacamole/webjars/angular-translate-interpolation-messageformat/2.8.0/angular-translate-interpolation-messageformat.min.js
HTTP/1.1" 200 1277
10.0.60.20 - - [08/Feb/2018:00:33:16 -0500] "GET /guacamole/webjars/angular-cookies/1.3.16/angular-cookies.min.js
HTTP/1.1" 200 865
10.0.60.20 - - [08/Feb/2018:00:33:16 -0500] "GET /guacamole/webjars/lodash/2.4.1/dist/lodash.min.js
HTTP/1.1" 200 28187
10.0.60.20 - - [08/Feb/2018:00:33:16 -0500] "GET /guacamole/webjars/angular-translate-loader-static-files/2.8.0/angular-translate-loader-static-files.min.js
HTTP/1.1" 200 1353
10.0.60.20 - - [08/Feb/2018:00:33:16 -0500] "GET /guacamole/webjars/blob-polyfill/1.0.20150320/Blob.js
HTTP/1.1" 200 6148
10.0.60.20 - - [08/Feb/2018:00:33:16 -0500] "GET /guacamole/webjars/jquery/2.1.3/dist/jquery.min.js
HTTP/1.1" 200 84447
10.0.60.20 - - [08/Feb/2018:00:33:16 -0500] "GET /guacamole/webjars/angular/1.3.16/angular.min.js
HTTP/1.1" 200 126532
10.0.60.20 - - [08/Feb/2018:00:33:16 -0500] "GET /guacamole/webjars/filesaver/1.3.3/FileSaver.min.js
HTTP/1.1" 200 2446
10.0.60.20 - - [08/Feb/2018:00:33:16 -0500] "GET /guacamole/webjars/angular-module-shim/0.0.4/angular-module-shim.js
HTTP/1.1" 200 774
10.0.60.20 - - [08/Feb/2018:00:33:16 -0500] "GET /guacamole/app.js?v=0.9.14 HTTP/1.1" 200
299894
10.0.60.20 - - [08/Feb/2018:00:33:16 -0500] "GET /guacamole/fonts/carlito/Carlito-Regular.woff
HTTP/1.1" 200 269832
10.0.60.20 - - [08/Feb/2018:00:33:16 -0500] "GET /guacamole/api/languages HTTP/1.1" 200 136
10.0.60.20 - - [08/Feb/2018:00:33:16 -0500] "GET /guacamole/api/patches HTTP/1.1" 200 352
10.0.60.20 - - [08/Feb/2018:00:33:16 -0500] "GET /guacamole/translations/en.json HTTP/1.1"
200 34802
10.0.60.20 - - [08/Feb/2018:00:33:16 -0500] "POST /guacamole/api/tokens HTTP/1.1" 500 215
10.0.60.20 - - [08/Feb/2018:00:33:16 -0500] "GET /guacamole/images/logo-64.png HTTP/1.1" 200
5082

Nginx error.log:

2018/02/07 22:26:02 [error] 1243#0: *16164 recv() failed (104: Connection reset by peer) while
reading response header from upstream, client: 10.0.1.227, server: guacamole.justin-tech.com,
request: "POST /api/tokens HTTP/1.1", upstream: "http://10.0.40.228:8080/guacamole/api/tokens",
host: "guacamole.justin-tech.com", referrer: "https://guacamole.justin-tech.com/"
2018/02/07 22:26:04 [error] 1243#0: *16164 connect() failed (111: Connection refused) while
connecting to upstream, client: 10.0.1.227, server: guacamole.justin-tech.com, request: "DELETE
/api/tokens/[DIFFERENT_TOKEN] HTTP/1.1", upstream: "http://10.0.40.228:8080/guacamole/api/tokens/[]DIFFEREBT_TOKEN",
host: "guacamole.justin-tech.com", referrer: "https://guacamole.justin-tech.com/"
2018/02/07 22:26:04 [error] 1243#0: *16164 connect() failed (111: Connection refused) while
connecting to upstream, client: 10.0.1.227, server: guacamole.justin-tech.com, request: "POST
/api/tokens HTTP/1.1", upstream: "http://10.0.40.228:8080/guacamole/api/tokens", host: "guacamole.justin-tech.com",
referrer: "https://guacamole.justin-tech.com/"
2018/02/07 23:40:06 [error] 1243#0: *18031 upstream prematurely closed connection while reading
upstream, client: 10.0.1.227, server: guacamole.justin-tech.com, request: "GET /app.js?v=0.9.14
HTTP/1.1", upstream: "http://10.0.40.228:8080/guacamole/app.js?v=0.9.14", host: "guacamole.justin-tech.com",
referrer: "https://guacamole.justin-tech.com/“

I have believe that the settings based on the /.well-known/configuration and Guacamole manual
are correct, however, I do not have another application that uses OpenID Connect to confirm
that OpenID is setup and working correctly (if you have recommendations or a way to test this,
that would be helpful).

From my limited understanding of the logs, it appears that Keycloak is sending invalid method
names, which guacamole is failing to parse, which is leading to a server API exception. The
nginx logs seem to indicate that a token is being refused during post, and during delete,
and the connection is being prematurely closed while reading from the upstream server (guacamole).
I am unable to determine the cause of why there is an exception, or the resolution. Due to
the recent release of support for OpenID Connect I was unable to find any similar issues relating
to Guacamole specifcally. Unfortunately my understanding of OpenID is very limited, so if
I made an error in that configuration, I apologize ahead of time.

To note: the SAML connection is working between Keycloak and an Ansible AWX installation,
leading me to believe that Keycloak itself is setup correctly.

Thank you,

Justin

Mime
View raw message