Network tab “Loading interrupted” – ap.ghost.org returning 403 on self-hosted Ghost (Synology/Docker)
Hi everyone,
I’m running two Ghost instances on a self-hosted Synology NAS (Docker) and have been trying to get the Network/ActivityPub tab working. Unfortunately, I keep seeing the “Loading interrupted” error.
After some debugging, I was able to identify the root cause: ap.ghost.org is returning HTTP/2 403 for all requests coming from my server.
My setup:
- Ghost running in Docker on a Synology NAS
- Reverse proxy via Nginx
- Public URL: seniorenundtechnik.de and seniorenbeirat.de
- ISP: Deutsche Glasfaser (Germany)
Test results from the server:
IPv4 test:
curl -4 -I https://ap.ghost.org/.well-known/nodeinfo
→ HTTP/2 403
IPv6 test:
curl -6 -I https://ap.ghost.org/.well-known/nodeinfo
→ HTTP/2 403
Both IPv4 (94.31.116.189) and IPv6 (2a00:6020:ad59:c00:9209:d0ff:fe38:caf7) return 403.
The core problem:
My external IP is dynamic (Deutsche Glasfaser residential connection), so a simple IP whitelisting would not be a permanent solution. My domains seniorenundtechnik.de and seniorenbeirat.de are fixed, however.
My questions:
- Is it possible to whitelist my sites by domain (seniorenundtechnik.de) rather than by IP?
- Is there a known issue with certain German ISP IP ranges being blocked by ap.ghost.org?
- Is there any other configuration on the Ghost/Docker side that could resolve this?
I have already checked the Nginx routing for /.ghost/activitypub/ and /.well-known/ — both are correctly forwarded.
Thank you very much for any help or pointers!