-
Notifications
You must be signed in to change notification settings - Fork 163
Open
Labels
Description
How to use GitHub
- Please use the 👍 reaction to show that you are affected by the same issue.
- Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
- Subscribe to receive notifications on status change and new comments.
Steps to reproduce
- Set up 24 Nextcloud instances on one server (with one static IP).
- Configure cron jobs for each Nextcloud.
- Use the clouds normally.
Expected behaviour
I would not expect to see hundreds of error messages saying that apps.nextcloud.com rejected normal requests because of "too many requests".
Actual behaviour
The logs of all 24 Nextcloud instances contains dozens of error messages of this form every day:
{"reqId":"ASMWZftBcAFHrxbg0t2P","level":2,"time":"2025-02-03T15:35:09+00:00","remoteAddr":"","user":"--","app":"appstoreFetcher","method":"","url":"--","message":"Client error: `GET https://apps.nextcloud.com/api/v1/
apps.json` resulted in a `429 Too Many Requests` response:\n<html>\r\n<head><title>429 Too Many Requests</title></head>\r\n<body>\r\n<center><h1>429 Too Many Requests</h1></center>\r\n<hr> (truncated...)\n","userAgen
t":"--","version":"29.0.11.1","exception":{"Exception":"GuzzleHttp\\Exception\\ClientException","Message":"Client error: `GET https://apps.nextcloud.com/api/v1/apps.json` resulted in a `429 Too Many Requests` respons
e:\n<html>\r\n<head><title>429 Too Many Requests</title></head>\r\n<body>\r\n<center><h1>429 Too Many Requests</h1></center>\r\n<hr> (truncated...)\n","Code":429,"Trace":[{"file":"/var/www/nextcloud/beispiel/3rdparty
/guzzlehttp/guzzle/src/Middleware.php","line":72,"function":"create","class":"GuzzleHttp\\Exception\\RequestException","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/nextcloud/beispie
l/3rdparty/guzzlehttp/promises/src/Promise.php","line":204,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/nextcloud
/beispiel/3rdparty/guzzlehttp/promises/src/Promise.php","line":153,"function":"callHandler","class":"GuzzleHttp\\Promise\\Promise","type":"::"},{"file":"/var/www/nextcloud/beispiel/3rdparty/guzzlehttp/promises/src/Ta
skQueue.php","line":48,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/nextcloud/beispiel/3rdparty/gu
zzlehttp/promises/src/Promise.php","line":248,"function":"run","class":"GuzzleHttp\\Promise\\TaskQueue","type":"->"},{"file":"/var/www/nextcloud/beispiel/3rdparty/guzzlehttp/promises/src/Promise.php","line":224,"func
tion":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/nextcloud/beispiel/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\P
romise\\Promise","type":"->"},{"file":"/var/www/nextcloud/beispiel/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/va
r/www/nextcloud/beispiel/3rdparty/guzzlehttp/promises/src/Promise.php","line":62,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/nextcloud/beispiel/3rdparty/guzzlehttp
/guzzle/src/Client.php","line":189,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/nextcloud/beispiel/lib/private/Http/Client/Client.php","line":230,"function":"request","class
":"GuzzleHttp\\Client","type":"->"},{"file":"/var/www/nextcloud/beispiel/lib/private/App/AppStore/Fetcher/Fetcher.php","line":112,"function":"get","class":"OC\\Http\\Client\\Client","type":"->","args":["*** sensitive
parameters replaced ***"]},{"file":"/var/www/nextcloud/beispiel/lib/private/App/AppStore/Fetcher/AppFetcher.php","line":78,"function":"fetch","class":"OC\\App\\AppStore\\Fetcher\\Fetcher","type":"->"},{"file":"/var/
www/nextcloud/beispiel/lib/private/App/AppStore/Fetcher/Fetcher.php","line":189,"function":"fetch","class":"OC\\App\\AppStore\\Fetcher\\AppFetcher","type":"->"},{"file":"/var/www/nextcloud/beispiel/lib/private/App/Ap
pStore/Fetcher/AppFetcher.php","line":179,"function":"get","class":"OC\\App\\AppStore\\Fetcher\\Fetcher","type":"->"},{"file":"/var/www/nextcloud/beispiel/lib/private/Installer.php","line":405,"function":"get","class
":"OC\\App\\AppStore\\Fetcher\\AppFetcher","type":"->"},{"file":"/var/www/nextcloud/beispiel/core/Command/App/Update.php","line":99,"function":"isUpdateAvailable","class":"OC\\Installer","type":"->"},{"file":"/var/ww
w/nextcloud/beispiel/3rdparty/symfony/console/Command/Command.php","line":298,"function":"execute","class":"OC\\Core\\Command\\App\\Update","type":"->"},{"file":"/var/www/nextcloud/beispiel/3rdparty/symfony/console/A
pplication.php","line":1040,"function":"run","class":"Symfony\\Component\\Console\\Command\\Command","type":"->"},{"file":"/var/www/nextcloud/beispiel/3rdparty/symfony/console/Application.php","line":301,"function":"
doRunCommand","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/nextcloud/beispiel/3rdparty/symfony/console/Application.php","line":171,"function":"doRun","class":"Symfony\\Component\\
Console\\Application","type":"->"},{"file":"/var/www/nextcloud/beispiel/lib/private/Console/Application.php","line":213,"function":"run","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/w
ww/nextcloud/beispiel/console.php","line":102,"function":"run","class":"OC\\Console\\Application","type":"->"},{"file":"/var/www/nextcloud/beispiel/occ","line":11,"args":["/var/www/nextcloud/beispiel/console.php"],"f
unction":"require_once"}],"File":"/var/www/nextcloud/beispiel/3rdparty/guzzlehttp/guzzle/src/Exception/RequestException.php","Line":113,"message":"Client error: `GET https://apps.nextcloud.com/api/v1/apps.json` resul
ted in a `429 Too Many Requests` response:\n<html>\r\n<head><title>429 Too Many Requests</title></head>\r\n<body>\r\n<center><h1>429 Too Many Requests</h1></center>\r\n<hr> (truncated...)\n","exception":{},"CustomMes
sage":"Client error: `GET https://apps.nextcloud.com/api/v1/apps.json` resulted in a `429 Too Many Requests` response:\n<html>\r\n<head><title>429 Too Many Requests</title></head>\r\n<body>\r\n<center><h1>429 Too Man
y Requests</h1></center>\r\n<hr> (truncated...)\n"}}
For me it looks like apps.nextcloud.com is configured to allow only a certain number of requests per IP and time interval. Is this the case?
Can you set this limit higher so that users with multiple Nextcloud instances do not run into this problem?
Or is there a workaround for this?
mobielstraat, larwood, dannystaple, Destripador, johnjaylward and 2 more