[chore/bugfix] Serve + throttle publickey separately from rest of ActivityPub API (#1461)

* serve publickey separately from AP, don't throttle it

* update nginx cache documentation, cache main-key too

* throttle public key, but separately from other endpoints
This commit is contained in:
tobi 2023-02-08 15:10:56 +01:00 committed by GitHub
commit 27e95fd123
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 117 additions and 47 deletions

View file

@ -206,6 +206,7 @@ var Start action.GTSAction = func(ctx context.Context) error {
clThrottle := middleware.Throttle(cpuMultiplier) // client api
s2sThrottle := middleware.Throttle(cpuMultiplier) // server-to-server (AP)
fsThrottle := middleware.Throttle(cpuMultiplier) // fileserver / web templates
pkThrottle := middleware.Throttle(cpuMultiplier) // throttle public key endpoint separately
gzip := middleware.Gzip() // applied to all except fileserver
@ -217,6 +218,7 @@ var Start action.GTSAction = func(ctx context.Context) error {
wellKnownModule.Route(router, gzip, s2sLimit, s2sThrottle)
nodeInfoModule.Route(router, s2sLimit, s2sThrottle, gzip)
activityPubModule.Route(router, s2sLimit, s2sThrottle, gzip)
activityPubModule.RoutePublicKey(router, s2sLimit, pkThrottle, gzip)
webModule.Route(router, fsLimit, fsThrottle, gzip)
gts, err := gotosocial.NewServer(dbService, router, federator, mediaManager)

View file

@ -139,6 +139,7 @@ var Start action.GTSAction = func(ctx context.Context) error {
wellKnownModule.Route(router)
nodeInfoModule.Route(router)
activityPubModule.Route(router)
activityPubModule.RoutePublicKey(router)
webModule.Route(router)
gts, err := gotosocial.NewServer(dbService, router, federator, mediaManager)