Notifications failing often due to nextcloud.com is not accessible

Support intro

Sorry to hear you’re facing problems. :slightly_frowning_face:

The community help forum (help.nextcloud.com) is for home and non-enterprise users. Support is provided by other community members on a best effort / “as available” basis. All of those responding are volunteering their time to help you.

If you’re using Nextcloud in a business/critical setting, paid and SLA-based support services can be accessed via portal.nextcloud.com where Nextcloud engineers can help ensure your business keeps running smoothly.

Getting help

In order to help you as efficiently (and quickly!) as possible, please fill in as much of the below requested information as you can.

Before clicking submit: Please check if your query is already addressed via the following resources:

(Utilizing these existing resources is typically faster. It also helps reduce the load on our generous volunteers while elevating the signal to noise ratio of the forums otherwise arising from the same queries being posted repeatedly).

Some or all of the below information will be requested if it isn’t supplied; for fastest response please provide as much as you can. :heart:

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    Nextcloud Hub 10
  • Operating system and version (e.g., Ubuntu 24.04):
    Ubuntu 22.04.5 LTS x86_64
  • Web server and version (e.g, Apache 2.4.25):
    Apache/2.4.65 (Ubuntu)
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • replace me
  • PHP version (e.g, 8.3):
    Version: 8.3.23
  • Is this the first time you’ve seen this error? (Yes / No):
    No
  • When did this problem seem to first start?
    -Month ago
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • replace me
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • No`

Summary of the issue you are facing:

Push notifications failing often due to nextcloud.com is not accessible. This has been happening very often, I was forced to temporarily turn off notifications via push, as they must go through nextcloud.com servers and if they fail to do so, the system waits for a timeout before functioning further, which makes the server overall extremely laggy. I understand that the availability of the site could be compromized. Is there any way to have push notifications without pushing through nextcloud.com?

Steps to replicate it (hint: details matter!):

Log entries

Nextcloud

Please provide the log entries from your Nextcloud log that are generated during the time of problem (via the Copy raw option from Administration settings->Logging screen or from your nextcloud.log located in your data directory). Feel free to use a pastebin/gist service if necessary.

PASTE HERE

Web Browser

If the problem is related to the Web interface, open your browser inspector Console and Network tabs while refreshing (reloading) and reproducing the problem. Provide any relevant output/errors here that appear.

PASTE

Web server / Reverse Proxy

The output of your Apache/nginx/system log in /var/log/____:

PASTE HERE

Configuration

Nextcloud

The output of occ config:list system or similar is best, but, if not possible, the contents of your config.php file from /path/to/nextcloud is fine (make sure to remove any identifiable information!):

PASTE HERE

Apps

The output of occ app:list (if possible).

Tips for increasing the likelihood of a response

  • Use the preformatted text formatting option in the editor for all log entries and configuration output.
  • If screenshots are useful, feel free to include them.
    • If possible, also include key error output in text form so it can be searched for.
  • Try to edit log output only minimally (if at all) so that it can be ran through analyzers / formatters by those trying to help you.

Hey, I am not aware of on issues around the push proxy. Are you sure that issue is on our side? What do you mean with „not accessible“ exactly ?

1 Like

Let’s say you have push notifications enabled and configured to send notifications from different acrtvities on the cloud, as I have had set with mine. At some point when you modify, create, send or upload files that fall in the category of “watched”, i receive notifications (be that browser based, or sent to ios app, no matter). These notifications are sent by the Nextcloud via some service that is located at nextcloud.com. If this URL is not reachable by my nextcloud instance, the system will wait according to the rules set as timeouts and then proceed, logging the failed attempt to send the notification. But as this happens, the wait for the timeout event “freezes” the system, while it waits for the push to go through. Imagine you are uploading 50 photos, that are all supposed to be followed by a push and each one waits for 8000 ms to send the push - it will take forever. The cloud itself is not frozen, it simply waits. When that happened for the Nth time, I went through logs and all errors regarded the nextcloud.com based URL. I pinged the address and it was down from server, my client machine, iphone and even with various VPNs enabled (just to make sure it isn’t region based. Since the URL was ureachable from ALL those instances, I deduced that the server @nextcloud.com is down, not that my connection is bad. So since this has been happening a few times to me, I had nothing else to do, but to disable the notifications, which is sad, since I need them - they help me very much to monitor the activity on the cloud. So i was wondering is there a way to have my own local service that would send and process the push even when nextcloud.com is unreachable.

Could you post one of the logs please?

I haven’t checked the code, but I can imagine that this could be improved. Still the question is why the service is not reachable from your end…

Here is one of these errors:

{"reqId":"Hx0F40JCxXaRjaKuva6c","level":3,"time":"2025-07-21T11:13:37+00:00","remoteAddr":"10.0.4.72","user":"kaynemo","app":"notifications","method":"DELETE","url":"/ocs/v2.php/apps/notifications/api/v2/notifications","message":"cURL error 28: Operation timed out after 30001 milliseconds with 0 bytes received (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://push-notifications.nextcloud.com/notifications","userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 18_5_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/138.0.7204.156 Mobile/15E148 Safari/604.1","version":"31.0.7.1","exception":{"Exception":"GuzzleHttp\\Exception\\ConnectException","Message":"cURL error 28: Operation timed out after 30001 milliseconds with 0 bytes received (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://push-notifications.nextcloud.com/notifications","Code":0,"Trace":[{"file":"/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":205,"function":"createRejection","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":157,"function":"finishError","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::"},{"file":"/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlHandler.php","line":47,"function":"finish","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::"},{"file":"/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":142,"function":"__invoke","class":"GuzzleHttp\\Handler\\CurlHandler","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Http/Client/DnsPinMiddleware.php","line":109,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php","line":64,"function":"OC\\Http\\Client\\{closure}","class":"OC\\Http\\Client\\DnsPinMiddleware","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":31,"function":"__invoke","class":"GuzzleHttp\\PrepareBodyMiddleware","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/RedirectMiddleware.php","line":71,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":66,"function":"__invoke","class":"GuzzleHttp\\RedirectMiddleware","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/HandlerStack.php","line":75,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php","line":333,"function":"__invoke","class":"GuzzleHttp\\HandlerStack","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php","line":169,"function":"transfer","class":"GuzzleHttp\\Client","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php","line":189,"function":"requestAsync","class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/lib/private/Http/Client/Client.php","line":277,"function":"request","class":"GuzzleHttp\\Client","type":"->"},{"file":"/var/www/html/nextcloud/apps/notifications/lib/Push.php","line":458,"function":"post","class":"OC\\Http\\Client\\Client","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/apps/notifications/lib/Push.php","line":164,"function":"sendNotificationsToProxies","class":"OCA\\Notifications\\Push","type":"->"},{"file":"/var/www/html/nextcloud/apps/notifications/lib/App.php","line":85,"function":"flushPayloads","class":"OCA\\Notifications\\Push","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Notification/Manager.php","line":265,"function":"flush","class":"OCA\\Notifications\\App","type":"->"},{"file":"/var/www/html/nextcloud/apps/notifications/lib/Controller/EndpointController.php","line":262,"function":"flush","class":"OC\\Notification\\Manager","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":200,"function":"deleteAllNotifications","class":"OCA\\Notifications\\Controller\\EndpointController","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":114,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/AppFramework/App.php","line":161,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Route/Router.php","line":315,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/var/www/html/nextcloud/ocs/v1.php","line":49,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/var/www/html/nextcloud/ocs/v2.php","line":7,"args":["/var/www/html/nextcloud/ocs/v1.php"],"function":"require_once"}],"File":"/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","Line":275,"message":"cURL error 28: Operation timed out after 30001 milliseconds with 0 bytes received (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://push-notifications.nextcloud.com/notifications","exception":[],"CustomMessage":"cURL error 28: Operation timed out after 30001 milliseconds with 0 bytes received (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://push-notifications.nextcloud.com/notifications"},"id":"688d05c18564c"}

hmmm… sorry to bump… but any thoughts? maybe there is an option to have the system “nofail” in case the notification doesn’t reach nextcloud servers? or to make the timeout much shorter?

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.