You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@guacamole.apache.org by Thumser Jan-Philipp <Ja...@hlb-online.de> on 2022/03/16 16:03:04 UTC

Guacamole 1.4.0 blank login screen, API POST call to guacamole/api/tokens never responding

Hello everyone,

I have a bit of a problem with my Guacamole deployment and would be thankful for any ideas or pointers on how to best further troubleshoot or even fix this.

Environment:

Ubuntu 20.04.4 LTS VM with Docker version 20.10.12, build e91ed57 running both the
guacamole/guacd:1.4.0 and guacamole/guacamole:1.4.0 containers connected via docker-link.

For the database I use an external server running PostgreSQL 10.19.

Everything has been set up exactly as described in Installing Guacamole with Docker - Apache Guacamole Manual v1.4.0<https://guacamole.apache.org/doc/gug/guacamole-docker.html>
and Database authentication - Apache Guacamole Manual v1.4.0<https://guacamole.apache.org/doc/gug/jdbc-auth.html> - and everything "works" so there are no blocking errors in the configuration.

I also installed and utilize the auth-totp and auth-ldap extensions, those work as well.

Problem:

However, after the guacamole container has been running and functioning perfectly for a short while ( only an hour or so ) it runs into a condition where
the login website is blank / white. When I open the browsers devtools and refresh, I can see that it is (forever) waiting on a response for an API call:

POST http://myserver /guacamole/api/tokens

And I believe this is why the login page never loads. Whenever I restart the guacamole container it immediately starts working again, and the
POST http://myserver /guacamole/api/tokens

API call returns the expected 403 error within a few milliseconds, then the login page loads.

Today, I have for the first time ran into a situation where the API call was hanging but did then actually return - after more than 2 minutes!
I have screenshotted this and am attaching it to this email. The devtools in my browse rare in german, but either way
the main takeaway is that the browser was waiting for this to return for a long time. After it did, the login page appeared successfully.

Whenever the login page stays blank, I can see in the tomcat access logs inside the guacamole container that it doesn't do/serve anything past these two requests:

"GET /guacamole/translations/de.json HTTP/1.1"
"GET /guacamole/translations/en.json HTTP/1.1"

However, today, because the page did actually load after the long wait time we can see this in the access log as well:

localhost_access_log.2022-03-16.txt:
[...]
10.240.100.193 - - [16/Mar/2022:15:19:25 +0000] "GET /guacamole/ HTTP/1.1" 304 -
10.240.100.193 - - [16/Mar/2022:15:19:25 +0000] "GET /guacamole/app.css?b=20211229081104 HTTP/1.1" 304 -
10.240.100.193 - - [16/Mar/2022:15:19:25 +0000] "GET /guacamole/app.js?b=20211229081104 HTTP/1.1" 304 -
10.240.100.193 - - [16/Mar/2022:15:19:25 +0000] "GET /guacamole/angular.min.js.map HTTP/1.1" 404 794
10.240.100.193 - - [16/Mar/2022:15:19:25 +0000] "GET /guacamole/1.guacamole.3328a7adfba5172d4be2.js.map HTTP/1.1" 200 9418
10.240.100.193 - - [16/Mar/2022:15:19:25 +0000] "GET /guacamole/1.guacamole.9c2377b2c6b2bd769789.css.map HTTP/1.1" 200 186902
10.240.100.193 - - [16/Mar/2022:15:19:25 +0000] "GET /guacamole/api/patches HTTP/1.1" 200 340
10.240.100.193 - - [16/Mar/2022:15:19:25 +0000] "GET /guacamole/api/languages HTTP/1.1" 200 244
10.240.100.193 - - [16/Mar/2022:15:19:25 +0000] "GET /guacamole/guacamole.e3eeaef0f115bb1a08f7.js.map HTTP/1.1" 200 682849
10.240.100.193 - - [16/Mar/2022:15:19:25 +0000] "GET /guacamole/translations/de.json HTTP/1.1" 200 45279
10.240.100.193 - - [16/Mar/2022:15:19:25 +0000] "GET /guacamole/translations/en.json HTTP/1.1" 200 49070
10.240.100.193 - - [16/Mar/2022:15:21:42 +0000] "POST /guacamole/api/tokens HTTP/1.1" 403 257
10.240.100.193 - - [16/Mar/2022:15:21:42 +0000] "POST /guacamole/api/tokens HTTP/1.1" 403 257
10.240.100.193 - - [16/Mar/2022:15:21:42 +0000] "POST /guacamole/api/tokens HTTP/1.1" 403 257
10.240.100.193 - - [16/Mar/2022:15:21:42 +0000] "POST /guacamole/api/tokens HTTP/1.1" 403 257
10.240.100.193 - - [16/Mar/2022:15:21:42 +0000] "POST /guacamole/api/tokens HTTP/1.1" 403 257
10.240.100.193 - - [16/Mar/2022:15:21:42 +0000] "POST /guacamole/api/tokens HTTP/1.1" 403 257
10.240.100.193 - - [16/Mar/2022:15:21:42 +0000] "POST /guacamole/api/tokens HTTP/1.1" 403 257
10.240.100.193 - - [16/Mar/2022:15:21:43 +0000] "GET /guacamole/images/guac-tricolor.svg HTTP/1.1" 200 3788
10.240.100.193 - - [16/Mar/2022:15:21:43 +0000] "GET /guacamole/fonts/carlito/Carlito-Regular.woff HTTP/1.1" 200 269832
10.240.100.193 - - [16/Mar/2022:15:21:43 +0000] "GET /guacamole/fonts/carlito/Carlito-Bold.woff HTTP/1.1" 200 281212
10.240.100.193 - - [16/Mar/2022:15:21:43 +0000] "GET /guacamole/fonts/carlito/Carlito-Italic.woff HTTP/1.1" 200 283500

What is happening in the backend when the "POST /guacamole/api/tokens HTTP/1.1" call is made and how can I debug that hanging and not returning?

Thank you very much

Best regards from Germany,


Jan Thumser