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
signature.asc
Description: Message signed with OpenPGP