When trying to log in to the admin page from a new computer, I get a Gateway 504 timeout error. The site otherwise works fine, and my existing logged-in session works fine as well. No errors in the server logs, or even acknowledgment of the “session” API call.
Hosting on Digital Ocean with the latest version of Ghost, v5.121.0.
Does this include the error log (ghost log -e
)? Note that I think I saw that emails can take 15 minutes to fail, so you might not see any messages until then.
If you haven’t disabled 2fa, you’ll need to make sure you have email set up in your config file
Thanks. Error log shows only this, which is received when the login page initially loads:
[2025-06-09 15:04:21] ERROR "GET /ghost/api/admin/users/me/?include=roles" 403 3ms
NAME: NoPermissionError
MESSAGE: Authorization failed
level: normal
"Unable to determine the authenticated user or integration. Check that cookies are being passed through if using session authentication."
NoPermissionError: Authorization failed
at authorizeAdminApi (/var/www/ghost/versions/5.121.0/core/server/services/auth/authorize.js:33:25)
at Layer.handle [as handle_request] (/var/www/ghost/versions/5.121.0/node_modules/express/lib/router/layer.js:95:5)
at next (/var/www/ghost/versions/5.121.0/node_modules/express/lib/router/route.js:149:13)
at authenticate (/var/www/ghost/versions/5.121.0/core/server/services/auth/session/middleware.js:55:13)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Unless ghost config format has changed, SMTP is set up and has been working fine for years.
Can you check again now, just to be safe?
If Ghost logs don’t show anything, can you check your nginx logs?
Nothing different in the ghost logs. Nginx logs show:
root@ryansouthwickauthor-newsletter:/var/log/nginx# cat error.log
2025/06/09 11:52:55 [error] 13131#13131: *10636 open() "/var/www/ghost/system/nginx-root/.well-known/traffic-advice" failed (2: No such file or directory), client: 64.233.173.160, server: newsletter.ryansouthwickauthor.com, request: "GET /.well-known/traffic-advice HTTP/1.1", host: "newsletter.ryansouthwickauthor.com"
2025/06/09 14:49:33 [error] 13131#13131: *10974 upstream timed out (110: Unknown error) while reading response header from upstream, client: 206.124.26.2, server: newsletter.ryansouthwickauthor.com, request: "POST /ghost/api/admin/session HTTP/2.0", upstream: "http://127.0.0.1:2368/ghost/api/admin/session", host: "newsletter.ryansouthwickauthor.com", referrer: "https://newsletter.ryansouthwickauthor.com/ghost/"
2025/06/09 14:50:20 [error] 13131#13131: *11030 upstream timed out (110: Unknown error) while reading response header from upstream, client: 206.124.26.2, server: newsletter.ryansouthwickauthor.com, request: "POST /ghost/api/admin/session HTTP/2.0", upstream: "http://127.0.0.1:2368/ghost/api/admin/session", host: "newsletter.ryansouthwickauthor.com", referrer: "https://newsletter.ryansouthwickauthor.com/ghost/"
2025/06/09 15:02:09 [error] 13131#13131: *11074 upstream timed out (110: Unknown error) while reading response header from upstream, client: 206.124.26.2, server: newsletter.ryansouthwickauthor.com, request: "POST /ghost/api/admin/authentication/password_reset/ HTTP/2.0", upstream: "http://127.0.0.1:2368/ghost/api/admin/authentication/password_reset/", host: "newsletter.ryansouthwickauthor.com", referrer: "https://newsletter.ryansouthwickauthor.com/ghost/"
2025/06/09 15:06:03 [error] 13131#13131: *11074 upstream timed out (110: Unknown error) while reading response header from upstream, client: 206.124.26.2, server: newsletter.ryansouthwickauthor.com, request: "POST /ghost/api/admin/session HTTP/2.0", upstream: "http://127.0.0.1:2368/ghost/api/admin/session", host: "newsletter.ryansouthwickauthor.com", referrer: "https://newsletter.ryansouthwickauthor.com/ghost/"
2025/06/09 15:16:28 [error] 13131#13131: *11167 upstream timed out (110: Unknown error) while reading response header from upstream, client: 206.124.26.2, server: newsletter.ryansouthwickauthor.com, request: "POST /ghost/api/admin/session HTTP/2.0", upstream: "http://127.0.0.1:2368/ghost/api/admin/session", host: "newsletter.ryansouthwickauthor.com", referrer: "https://newsletter.ryansouthwickauthor.com/ghost/"
If there are no non-error Ghost logs around the same time as NGINX (within 20 minutes) to /ghost/api/admin/session
, that’s a bit odd, since other requests seem to be going through