speedtest-tracker: `The page isn’t redirecting properly` / `bad request`

I’ve just updated to the latest release. I’m getting the above error in browser, this is via Traefik. No info in the console. Container log follows:

[21-Oct-2022 09:32:37] NOTICE: fpm is running, pid 100
                                                            |_|
Brought to you by serversideup.net
--------------------------------------------------------------------
To support Server Side Up projects visit:
https://serversideup.net/sponsor
GID/UID
User uid:    1044
User gid:    65539
-------------------------------------
🔐 SSL_MODE has set to FULL, setting the web server to work in HTTPS only...
🏃‍♂️ Checking for Laravel automations...
🔐 Linking the storage...
   ERROR  The [public/storage] link already exists.  
✅  Database exists
🐇  Configuring Speedtest Tracker...
🔗  Creating database symlink
✅  Environment file exists
🔗  Creating symlinks to config and log files
✅  App key exists
🔒  Fixing app path file permissions
💰  Building the cache...
127.0.0.1 - - [21/Oct/2022:09:32:38 +0000] "GET /ping HTTP/1.1" 301 162 "-" "curl/7.81.0"
[21-Oct-2022 09:32:37] NOTICE: ready to handle connections
[21-Oct-2022 09:32:37] NOTICE: systemd monitor interval set to 10000ms
🚛  Migrating the database...
✅  All set, starting Speedtest Tracker container...
💪  Starting the queue worker...
xxx.xxx.xxx.xxx - - [21/Oct/2022:09:33:20 +0000] "GET / HTTP/1.1" 301 162 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0"

I’ve tested it through a localhost too, updating the .env accordingly in each case, and got a 404:

❌ There seems to be a failure in checking the web server + PHP-FPM. Here's the response:
192.168.90.1 - - [21/Oct/2022:09:39:12 +0000] "\x16\x03\x01\x02\x00\x01\x00\x01\xFC\x03\x03Gk\x19mm\x18\x1F\x7F\xFD\xF2\xAB \xF8L\xA6\xD0\xFD\xD9/\xE6\xAB\xEF\xEA&X\x18sfl\x8D\xFF\x12 \xA1\x0C%\x92\xFF\x176\xB5\xB2\xA4Oog\xB3Y)&\xFF.\x14\xBF\xAE\x98\xBE\x16.\xA1\x07s\x00\xFF\x11\x00\x22\x13\x01\x13\x03\x13\x02\xC0+\xC0/\xCC\xA9\xCC\xA8\xC0,\xC00\xC0" 400 150 "-" "-"
192.168.90.1 - - [21/Oct/2022:09:39:21 +0000] "\x16\x03\x01\x02\x00\x01\x00\x01\xFC\x03\x03\x168\x0B\x021!\x92\xDA\x86m\xAF48s2\x1EC\x85+<\x01\x80+\x94X\x15\x00z\xED'\xD6\x00 V\xF5\xF5\x89:\xE4\x99\x8C\xA1\x09\xA8\x9D\x8D\xC7|V\x96\x16\xAC\xFC\x85" 400 150 "-" "-"
192.168.90.1 - - [21/Oct/2022:09:39:21 +0000] "\x16\x03\x01\x02\x00\x01\x00\x01\xFC\x03\x03\xB9,\x93\xFB\xE9\x1C[.\x84\xC9\x5C\x07\x8E\x99\x93" 400 150 "-" "-"
192.168.90.1 - - [21/Oct/2022:09:39:21 +0000] "\x16\x03\x01\x02\x00\x01\x00\x01\xFC\x03\x03\xA4\xF2\xA7j\x10\xEB\x8DdsEi\xEEa\x88\xC0\xCD\x06PUm\x00\x91:U%\xAB\xDB\xAD\x0E\x80\x1E\xBF 8\xA7\x87v=\x97" 400 150 "-" "-"
192.168.90.1 - - [21/Oct/2022:09:39:21 +0000] "\x16\x03\x01\x02\x00\x01\x00\x01\xFC\x03\x03\xFBZ's\xA3q\x96&\xE7:\x8E\xDF\xFD#\xA5\x0Ef\x22\x08\xD2\xD1\x00^\x8A\xB1\xAB\x10;q\x22T\xEC \xD7\x19\x82}\x17\x1A<bN@\xDE\xC3:\x99,h\xB2\x8F\x9A\xE8\xAB\xF3n^\x05\x0F+\xAA\xA6\xCE\xE2\xB7\x00\x22ZZ\x13\x01\x13\x02\x13\x02\x13\x03\xC0+\xC0/\xC0,\xC00\xCC\xA9\xCC\xA8\xC0\x13\xC0\x14\x00\x9C\x00\x9D\x00/\x005\x01\x00\x01\x91\xDA\xDA\x00\x00\x00\x17\x00\x00\xFF\x01\x00\x01\x00\x00" 400 150 "-" "-"
192.168.90.1 - - [21/Oct/2022:09:39:22 +0000] "\x16\x03\x01\x02\x00\x01\x00\x01\xFC\x03\x03\x19\x9COx\x18\x8F \xFD\xB9\xB6\xDE\xC8oC\x158\x84\x0F\x83\xE8k\xDC\xA0\xCF&\x93" 400 150 "-" "-"
192.168.90.1 - - [21/Oct/2022:09:39:22 +0000] "\x16\x03\x01\x02\x00\x01\x00\x01\xFC\x03\x03~\xC03!\xE5" 400 150 "-" "-"
192.168.90.1 - - [21/Oct/2022:09:39:22 +0000] "\x16\x03\x01\x02\x00\x01\x00\x01\xFC\x03\x03\x10\xB7\xE1b\x8E\xA0\xBE\x8C\x95\xC1\x0E\x84\x84#\xCC\x9C\x92\xF5\x7F\xEB\x11\xDB\xB2\xB2~'\xB84V\xCDb/ \xE4\xB1t$k\xD7\x1A4\xC5D\x90^\x86\x09\x1C\x88E\x8A\x13- \xAA\x7F\xFB\x96\x0E\xA8\x1B\x8C\xDF\x98_\x00\x22\x1A\x1A\x13\x01\x13\x02\x13\x02\x13\x03\xC0+\xC0/\xC0,\xC00\xCC\xA9\xCC\xA8\xC0\x13\xC0\x14\x00\x9C\x00\x9D\x00/\x005\x01\x00\x01\x91\xAA\xAA\x00\x00\x00\x17\x00\x00\xFF\x01\x00\x01\x00\x00" 400 150 "-" "-"
192.168.90.1 - - [21/Oct/2022:09:39:22 +0000] "\x16\x03\x01\x02\x00\x01\x00\x01\xFC\x03\x03\xB7\x83\x98\x04\xD8X\x1D\x16\xDF<\xA4\xC3\xC5\x90" 400 150 "-" "-"
192.168.90.1 - - [21/Oct/2022:09:39:26 +0000] "GET / HTTP/1.1" 301 162 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.47"
192.168.90.1 - - [21/Oct/2022:09:39:46 +0000] "\x16\x03\x01\x02\x00\x01\x00\x01\xFC\x03\x03=M\xBD<\x88\xBD\xA75\xBB\x14\xC5\x15e*O\xD4\xFB&\xA2ftB\x86haT4" 400 150 "-" "-"

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 1
  • Comments: 46 (32 by maintainers)

Most upvoted comments

Finally, we solved all the mysteries. 😃

So I would suggest to use SSL_MODE=mixed, and users can use 80 or 443 based on their specific setups. If behind a reverse-proxy, 443 must be used because of #34, and the reverse-proxy has to be configured to accept self-signed certificates.

Case closed. 😃

@alexjustesen I confirm what Daniel says: is the .env file under /config read by the app at startup or not? I tried modifying some variables and restarted the container but it didn’t pick-up the changes.

Variables set in docker-compose work fine, and actually I do prefer to use that to modify the config.

I’m going to add to this because I just spent hours debugging this issue, trying everything posted here but nothing worked. What finally worked was adding the label - traefik.http.services.speedtest.loadbalancer.server.scheme=https to the speedtest container in addition to - --serversTransport.insecureSkipVerify=true in the traefik container as found here and now it finally works! This worked for me with SSL_MODE off, mixed or full (or commented out aka the default .env):

traefik:
  command:
    - --log.level=INFO # log levels are DEBUG, PANIC, FATAL, ERROR, WARN, and INFO.
    - --api.insecure=true
    - --providers.docker=true
    - --providers.docker.exposedbydefault=false
    - --entrypoints.web.address=:80
    - --entrypoints.websecure.address=:443
    - --entrypoints.web.http.redirections.entrypoint.to=websecure
    - --certificatesresolvers.letsencrypt.acme.tlschallenge=true
    - --certificatesresolvers.letsencrypt.acme.email=***
    - --certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json
    - --certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web
    - --serversTransport.insecureSkipVerify=true

speetest:
  labels:
    - traefik.enable=true
    - traefik.http.routers.speedtest.rule=Host(`speedtest.${DOMAINNAME}`)
    - traefik.http.routers.speedtest.tls=true
    - traefik.http.routers.speedtest.tls.certresolver=letsencrypt
    - traefik.http.services.speedtest.loadbalancer.server.port=443
    - traefik.http.services.speedtest.loadbalancer.server.scheme=https

still can’t get it to work, getting bad request no matter what I try.

Sometimes it’s the simple things (like my port in the compose file above).

If you post the compose file and the .env / config.yml file I can try to help.

UPDATE: I saw you posted it, and this looks wrong, shouldn’t it be 443?

- "traefik.http.services.speedtracker-svc.loadbalancer.server.port=80"

.env is going to remain for all environmental configuration, config.yml is getting removed in an upcoming release and moved to a settings page so everything can be managed from the UI.

We need a discord channel for the project…😃

We get past 200 stars, I’ll make one.