Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GET https://apps.nextcloud.com/api/v1/ apps.json resulted in a 429 Too Many Requests #1569

Open
xylo opened this issue Feb 4, 2025 · 0 comments
Labels

Comments

@xylo
Copy link

xylo commented Feb 4, 2025

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

  1. Set up 24 Nextcloud instances on one server (with one static IP).
  2. Configure cron jobs for each Nextcloud.
  3. 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?

@xylo xylo added the bug label Feb 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant