usefathom / fathom

Fathom Lite. Simple, privacy-focused website analytics. Built with Golang & Preact.
https://usefathom.com/
MIT License
7.52k stars 364 forks source link

502 errors - DigitalOcean + nginx #317

Closed leonardofaria closed 3 years ago

leonardofaria commented 4 years ago

Hi everyone

First, thanks for Fathom. Just started using in my Hugo website and it works like a charm :)

I am using a small DigitalOcean instance to host my own Fathom. It uses MySQL as database and when I go to the dashboard I often get 502 errors (50% of time).

I looked at server load (htop) and it is quite low. This server doesn't have anything that would fight for resources.

Nginx logs

2020/08/04 05:38:28 [error] 11888#11888: *2348 connect() failed (111: Connection refused) while connecting to upstream, client: 192.157.101.252, server: myhost, request: "GET /api/sites/1/stats/referrers?before=1596499199&after=1595894400&limit=15 HTTP/2.0", upstream: "http://127.0.0.1:9000/api/sites/1/stats/referrers?before=1596499199&after=1595894400&limit=15", host: "myhost"
2020/08/04 05:38:28 [error] 11888#11888: *2348 connect() failed (111: Connection refused) while connecting to upstream, client: 192.157.101.252, server: myhost, request: "GET /api/sites/1/stats/referrers/pageviews?before=1596499199&after=1595894400 HTTP/2.0", upstream: "http://127.0.0.1:9000/api/sites/1/stats/referrers/pageviews?before=1596499199&after=1595894400", host: "myhost"
2020/08/04 05:38:28 [error] 11888#11888: *2348 connect() failed (111: Connection refused) while connecting to upstream, client: 192.157.101.252, server: myhost, request: "GET /assets/fonts/overpass-thin.woff HTTP/2.0", upstream: "http://127.0.0.1:9000/assets/fonts/overpass-thin.woff", host: "myhost", referrer: "https://myhost/assets/css/styles.css"
2020/08/04 05:38:28 [error] 11888#11888: *2348 connect() failed (111: Connection refused) while connecting to upstream, client: 192.157.101.252, server: myhost, request: "GET /assets/fonts/overpass-bold.woff HTTP/2.0", upstream: "http://127.0.0.1:9000/assets/fonts/overpass-bold.woff", host: "myhost", referrer: "https://myhost/assets/css/styles.css"
2020/08/04 05:38:28 [error] 11888#11888: *2348 connect() failed (111: Connection refused) while connecting to upstream, client: 192.157.101.252, server: myhost, request: "GET /assets/fonts/overpass-thin.ttf HTTP/2.0", upstream: "http://127.0.0.1:9000/assets/fonts/overpass-thin.ttf", host: "myhost", referrer: "https://myhost/assets/css/styles.css"
2020/08/04 05:38:28 [error] 11888#11888: *2348 connect() failed (111: Connection refused) while connecting to upstream, client: 192.157.101.252, server: myhost, request: "GET /assets/fonts/overpass-bold.ttf HTTP/2.0", upstream: "http://127.0.0.1:9000/assets/fonts/overpass-bold.ttf", host: "myhost", referrer: "https://myhost/assets/css/styles.css"
2020/08/04 05:38:28 [error] 11888#11888: *2348 connect() failed (111: Connection refused) while connecting to upstream, client: 192.157.101.252, server: myhost, request: "GET /assets/img/favicon.png HTTP/2.0", upstream: "http://127.0.0.1:9000/assets/img/favicon.png", host: "myhost"
2020/08/04 05:46:32 [error] 11888#11888: *2348 upstream prematurely closed connection while reading response header from upstream, client: 192.157.101.252, server: myhost, request: "GET /api/sites/1/stats/referrers/pageviews?before=1596499199&after=1595894400 HTTP/2.0", upstream: "http://127.0.0.1:9000/api/sites/1/stats/referrers/pageviews?before=1596499199&after=1595894400", host: "myhost"
2020/08/04 05:46:32 [error] 11888#11888: *2348 upstream prematurely closed connection while reading response header from upstream, client: 192.157.101.252, server: myhost, request: "GET /api/sites/1/stats/referrers?before=1596499199&after=1595894400&limit=15 HTTP/2.0", upstream: "http://127.0.0.1:9000/api/sites/1/stats/referrers?before=1596499199&after=1595894400&limit=15", host: "myhost"
2020/08/04 05:46:32 [error] 11888#11888: *2348 upstream prematurely closed connection while reading response header from upstream, client: 192.157.101.252, server: myhost, request: "GET /api/sites/1/stats/pages/pageviews?before=1596499199&after=1595894400 HTTP/2.0", upstream: "http://127.0.0.1:9000/api/sites/1/stats/pages/pageviews?before=1596499199&after=1595894400", host: "myhost"
2020/08/04 05:46:32 [error] 11888#11888: *2348 upstream prematurely closed connection while reading response header from upstream, client: 192.157.101.252, server: myhost, request: "GET /api/sites/1/stats/pages?before=1596499199&after=1595894400&limit=15 HTTP/2.0", upstream: "http://127.0.0.1:9000/api/sites/1/stats/pages?before=1596499199&after=1595894400&limit=15", host: "myhost"
2020/08/04 05:46:32 [error] 11888#11888: *2348 upstream prematurely closed connection while reading response header from upstream, client: 192.157.101.252, server: myhost, request: "GET /api/sites/1/stats/site/groupby/day?before=1596499199&after=1595894400 HTTP/2.0", upstream: "http://127.0.0.1:9000/api/sites/1/stats/site/groupby/day?before=1596499199&after=1595894400", host: "myhost"
2020/08/04 05:46:32 [error] 11888#11888: *2348 upstream prematurely closed connection while reading response header from upstream, client: 192.157.101.252, server: myhost, request: "GET /api/sites/1/stats/site?before=1596499199&after=1595894400 HTTP/2.0", upstream: "http://127.0.0.1:9000/api/sites/1/stats/site?before=1596499199&after=1595894400", host: "myhost"

I set up the server following the README and the notes about creating a SSL certificate with the certbot. Server is running Ubuntu 18.04.2, CloudFlare is being used as DNS only (no proxy)

Using Fathom 1.1.0

Any thoughts about this? Or how can I troubleshoot this better?

duncanmcclean commented 3 years ago

@leonardofaria Did you manage to figure this out?

duncanmcclean commented 3 years ago

Ah, I figured it out. I didn't have Fathom's server running so the Nginx proxy didn't work 🤦‍♂️