CSRF check failed on https://cloud.example.com/ocs/v2.php/apps/notifications/api/v2/notifications

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:
  • Nextcloud 33.0.0
  • Operating system and version:
  • #1 SMP PREEMPT Debian 1:6.12.75-1+rpt1~bookworm (2026-03-11)
  • Web server and version:
  • Server version: Apache/2.4.66 (Debian)
  • Reverse proxy and version:
  • nginx version: openresty/1.27.1.2
  • PHP version:
  • PHP 8.4.18 (cli) (built: Feb 24 2026 19:12:53) (NTS)
  • Is this the first time you’ve seen this error? (Yes / No):
  • yes
  • When did this problem seem to first start?
  • recently
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
  • OMV Container
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
  • No

Summary of the issues you are facing:

Opening https://cloud.example.com/ocs/v2.php/apps/notifications/api/v2/notifications give CSRF error. The page is called from the Server Info page.

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

  1. open server info in browser
  2. watch network traffic for 304 errors

Log entries

Nextcloud

{"reqId":"RTzCnhaR5rUSNsetUoCT","level":3,"time":"2026-03-22T06:07:19+00:00","remoteAddr":"","user":"--","app":"richdocuments","method":"","url":"--","scriptName":"/var/www/html/cron
.php","message":"Failed to fetch capabilities: cURL error 35: TLS connect error: error:0A000458:SSL routines::tlsv1 unrecognized name (see https://curl.haxx.se/libcurl/c/libcurl-erro
rs.html) for https://collab.kingma.ch/hosting/capabilities","userAgent":"--","version":"33.0.0.16","occ_command":["/var/www/html/cron.php"],"exception":{"Exception":"GuzzleHttp\\Exce
ption\\ConnectException","Message":"cURL error 35: TLS connect error: error:0A000458:SSL routines::tlsv1 unrecognized name (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) fo
r https://collab.kingma.ch/hosting/capabilities","Code":0,"Trace":[{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":207,"function":"createRejecti
on","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory
.php","line":159,"function":"finishError","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":[{"__class__":"GuzzleHttp\\Handler\\CurlHandler"},"*** sensitive parameters re
placed ***",{"__class__":"GuzzleHttp\\Handler\\CurlFactory"}]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlHandler.php","line":47,"function":"finish","class":"G
uzzleHttp\\Handler\\CurlFactory","type":"::","args":[{"__class__":"GuzzleHttp\\Handler\\CurlHandler"},"*** sensitive parameters replaced ***",{"__class__":"GuzzleHttp\\Handler\\CurlF
actory"}]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":142,"function":"__invoke","class":"GuzzleHttp\\Handler\\CurlHandler","type":"->","args":["***
sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/Http/Client/DnsPinMiddleware.php","line":110,"function":"{closure:{clo
sure:GuzzleHttp\\Middleware::tap():137}:138}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehtt
p/guzzle/src/PrepareBodyMiddleware.php","line":35,"function":"{closure:{closure:OC\\Http\\Client\\DnsPinMiddleware::addDnsPinning():104}:105}","class":"OC\\Http\\Client\\DnsPinMiddle
ware","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":31,"function":"__invoke","class":"Guz
zleHttp\\PrepareBodyMiddleware","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzl
e/src/RedirectMiddleware.php","line":71,"function":"{closure:{closure:GuzzleHttp\\Middleware::cookies():28}:29}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive p
arameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":66,"function":"__invoke","class":"GuzzleHttp\\RedirectMiddleware","type":"->","
args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/HandlerStack.php","line":75,"function":
"{closure:{closure:GuzzleHttp\\Middleware::httpErrors():60}:61}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html
/3rdparty/guzzlehttp/guzzle/src/Client.php","line":333,"function":"__invoke","class":"GuzzleHttp\\HandlerStack","type":"->","args":["*** sensitive parameters replaced ***","*** sensi
tive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php","line":169,"function":"transfer","class":"GuzzleHttp\\Client","type":"->","args":["*
** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php","line":189,"function":"requestAsync"
,"class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/Http/Client/Client.php","line":219,"function":"request"
,"class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***",{"verify":"/var/www/html/resources/config/ca-bundle.
crt","timeout":5,"version":"2.0","curl":{"84":4},"nextcloud":{"allow_local_address":true},"0":"And 2 more entries, set log level to debug to see all entries"}]},{"file":"/var/www/htm
l/custom_apps/richdocuments/lib/Service/CapabilitiesService.php","line":134,"function":"get","class":"OC\\Http\\Client\\Client","type":"->","args":["*** sensitive parameters replaced
***"]},{"file":"/var/www/html/custom_apps/richdocuments/lib/Service/CachedRequestService.php","line":74,"function":"sendRequest","class":"OCA\\Richdocuments\\Service\\CapabilitiesSe
rvice","type":"->","args":[{"__class__":"OC\\Http\\Client\\Client"}]},{"file":"/var/www/html/custom_apps/richdocuments/lib/Backgroundjobs/ObtainCapabilities.php","line":36,"function"
:"fetch","class":"OCA\\Richdocuments\\Service\\CachedRequestService","type":"->","args":[]},{"file":"/var/www/html/lib/public/BackgroundJob/Job.php","line":47,"function":"run","class
":"OCA\\Richdocuments\\Backgroundjobs\\ObtainCapabilities","type":"->","args":[null]},{"file":"/var/www/html/lib/public/BackgroundJob/TimedJob.php","line":85,"function":"start","clas
s":"OCP\\BackgroundJob\\Job","type":"->","args":[{"__class__":"OC\\BackgroundJob\\JobList"}]},{"file":"/var/www/html/core/Service/CronService.php","line":176,"function":"start","clas
s":"OCP\\BackgroundJob\\TimedJob","type":"->","args":[{"__class__":"OC\\BackgroundJob\\JobList"}]},{"file":"/var/www/html/core/Service/CronService.php","line":98,"function":"runCli",
"class":"OC\\Core\\Service\\CronService","type":"->","args":["cron",null]},{"file":"/var/www/html/cron.php","line":52,"function":"run","class":"OC\\Core\\Service\\CronService","type"
:"->","args":[null]}],"File":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","Line":277,"message":"Failed to fetch capabilities: cURL error 35: TLS connect err
or: error:0A000458:SSL routines::tlsv1 unrecognized name (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://collab.kingma.ch/hosting/capabilities","exception":"{\"c
lass\":\"GuzzleHttp\\Exception\\ConnectException\",\"message\":\"cURL error 35: TLS connect error: error:0A000458:SSL routines::tlsv1 unrecognized name (see https://curl.haxx.se/libc
url/c/libcurl-errors.html) for https://collab.kingma.ch/hosting/capabilities\",\"code\":0,\"file\":\"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php:277\",\"trac
e\":\"#0 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php(207): GuzzleHttp\\Handler\\CurlFactory::createRejection(Object(GuzzleHttp\\Handler\\EasyHandle), Array)\
\n#1 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php(159): GuzzleHttp\\Handler\\CurlFactory::finishError(Object(GuzzleHttp\\Handler\\CurlHandler), Object(GuzzleH
ttp\\Handler\\EasyHandle), Object(GuzzleHttp\\Handler\\CurlFactory))\\n#2 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlHandler.php(47): GuzzleHttp\\Handler\\CurlFactory::
finish(Object(GuzzleHttp\\Handler\\CurlHandler), Object(GuzzleHttp\\Handler\\EasyHandle), Object(GuzzleHttp\\Handler\\CurlFactory))\\n#3 /var/www/html/3rdparty/guzzlehttp/guzzle/src/
Middleware.php(142): GuzzleHttp\\Handler\\CurlHandler->__invoke(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#4 /var/www/html/lib/private/Http/Client/DnsPinMiddleware.php(110): Guzzle
Http\\Middleware::{closure:{closure:GuzzleHttp\\Middleware::tap():137}:138}(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#5 /var/www/html/3rdparty/guzzlehttp/guzzle/src/PrepareBodyMid
dleware.php(35): OC\\Http\\Client\\DnsPinMiddleware->{closure:{closure:OC\\Http\\Client\\DnsPinMiddleware::addDnsPinning():104}:105}(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#6 /v
ar/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php(31): GuzzleHttp\\PrepareBodyMiddleware->__invoke(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#7 /var/www/html/3rdparty/guzzl
ehttp/guzzle/src/RedirectMiddleware.php(71): GuzzleHttp\\Middleware::{closure:{closure:GuzzleHttp\\Middleware::cookies():28}:29}(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#8 /var/w
ww/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php(66): GuzzleHttp\\RedirectMiddleware->__invoke(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#9 /var/www/html/3rdparty/guzzlehttp/g
uzzle/src/HandlerStack.php(75): GuzzleHttp\\Middleware::{closure:{closure:GuzzleHttp\\Middleware::httpErrors():60}:61}(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#10 /var/www/html/3
rdparty/guzzlehttp/guzzle/src/Client.php(333): GuzzleHttp\\HandlerStack->__invoke(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#11 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.
php(169): GuzzleHttp\\Client->transfer(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#12 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php(189): GuzzleHttp\\Client->requestAsync(
'get', Object(GuzzleHttp\\Psr7\\Uri), Array)\\n#13 /var/www/html/lib/private/Http/Client/Client.php(219): GuzzleHttp\\Client->request('get', 'https://collab....', Array)\\n#14 /var/w
ww/html/custom_apps/richdocuments/lib/Service/CapabilitiesService.php(134): OC\\Http\\Client\\Client->get('https://collab....', Array)\\n#15 /var/www/html/custom_apps/richdocuments/l
ib/Service/CachedRequestService.php(74): OCA\\Richdocuments\\Service\\CapabilitiesService->sendRequest(Object(OC\\Http\\Client\\Client))\\n#16 /var/www/html/custom_apps/richdocuments
/lib/Backgroundjobs/ObtainCapabilities.php(36): OCA\\Richdocuments\\Service\\CachedRequestService->fetch()\\n#17 /var/www/html/lib/public/BackgroundJob/Job.php(47): OCA\\Richdocument
s\\Backgroundjobs\\ObtainCapabilities->run(NULL)\\n#18 /var/www/html/lib/public/BackgroundJob/TimedJob.php(85): OCP\\BackgroundJob\\Job->start(Object(OC\\BackgroundJob\\JobList))\\n#
19 /var/www/html/core/Service/CronService.php(176): OCP\\BackgroundJob\\TimedJob->start(Object(OC\\BackgroundJob\\JobList))\\n#20 /var/www/html/core/Service/CronService.php(98): OC\\
Core\\Service\\CronService->runCli('cron', NULL)\\n#21 /var/www/html/cron.php(52): OC\\Core\\Service\\CronService->run(NULL)\\n#22 {main}\"}","CustomMessage":"Failed to fetch capabil
ities: cURL error 35: TLS connect error: error:0A000458:SSL routines::tlsv1 unrecognized name (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://collab.kingma.ch/ho
sting/capabilities"}}
{"reqId":"RTzCnhaR5rUSNsetUoCT","level":3,"time":"2026-03-22T06:07:19+00:00","remoteAddr":"","user":"--","app":"richdocuments","method":"","url":"--","scriptName":"/var/www/html/cron
.php","message":"Failed to fetch discovery: cURL error 35: TLS connect error: error:0A000458:SSL routines::tlsv1 unrecognized name (see https://curl.haxx.se/libcurl/c/libcurl-errors.
html) for https://collab.kingma.ch/hosting/discovery","userAgent":"--","version":"33.0.0.16","occ_command":["/var/www/html/cron.php"],"exception":{"Exception":"GuzzleHttp\\Exception\
\ConnectException","Message":"cURL error 35: TLS connect error: error:0A000458:SSL routines::tlsv1 unrecognized name (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http
s://collab.kingma.ch/hosting/discovery","Code":0,"Trace":[{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":207,"function":"createRejection","clas
s":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","li
ne":159,"function":"finishError","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":[{"__class__":"GuzzleHttp\\Handler\\CurlHandler"},"*** sensitive parameters replaced **
*",{"__class__":"GuzzleHttp\\Handler\\CurlFactory"}]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlHandler.php","line":47,"function":"finish","class":"GuzzleHttp
\\Handler\\CurlFactory","type":"::","args":[{"__class__":"GuzzleHttp\\Handler\\CurlHandler"},"*** sensitive parameters replaced ***",{"__class__":"GuzzleHttp\\Handler\\CurlFactory"}]
},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":142,"function":"__invoke","class":"GuzzleHttp\\Handler\\CurlHandler","type":"->","args":["*** sensitive
parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/Http/Client/DnsPinMiddleware.php","line":110,"function":"{closure:{closure:Guzz
leHttp\\Middleware::tap():137}:138}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/
src/PrepareBodyMiddleware.php","line":35,"function":"{closure:{closure:OC\\Http\\Client\\DnsPinMiddleware::addDnsPinning():104}:105}","class":"OC\\Http\\Client\\DnsPinMiddleware","ty
pe":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":31,"function":"__invoke","class":"GuzzleHttp\\
PrepareBodyMiddleware","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Red
irectMiddleware.php","line":71,"function":"{closure:{closure:GuzzleHttp\\Middleware::cookies():28}:29}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters
replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":66,"function":"__invoke","class":"GuzzleHttp\\RedirectMiddleware","type":"->","args":["*
** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/HandlerStack.php","line":75,"function":"{closure
:{closure:GuzzleHttp\\Middleware::httpErrors():60}:61}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty
/guzzlehttp/guzzle/src/Client.php","line":333,"function":"__invoke","class":"GuzzleHttp\\HandlerStack","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive para
meters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php","line":169,"function":"transfer","class":"GuzzleHttp\\Client","type":"->","args":["*** sensit
ive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php","line":189,"function":"requestAsync","class":
"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/Http/Client/Client.php","line":219,"function":"request","class":
"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***",{"verify":"/var/www/html/resources/config/ca-bundle.crt","tim
eout":5,"version":"2.0","curl":{"84":4},"nextcloud":{"allow_local_address":true},"0":"And 2 more entries, set log level to debug to see all entries"}]},{"file":"/var/www/html/custom_
apps/richdocuments/lib/Service/DiscoveryService.php","line":62,"function":"get","class":"OC\\Http\\Client\\Client","type":"->","args":["*** sensitive parameters replaced ***"]},{"fil
e":"/var/www/html/custom_apps/richdocuments/lib/Service/CachedRequestService.php","line":74,"function":"sendRequest","class":"OCA\\Richdocuments\\Service\\DiscoveryService","type":"-
>","args":[{"__class__":"OC\\Http\\Client\\Client"}]},{"file":"/var/www/html/custom_apps/richdocuments/lib/Backgroundjobs/ObtainCapabilities.php","line":42,"function":"fetch","class"
:"OCA\\Richdocuments\\Service\\CachedRequestService","type":"->","args":[]},{"file":"/var/www/html/lib/public/BackgroundJob/Job.php","line":47,"function":"run","class":"OCA\\Richdocu
ments\\Backgroundjobs\\ObtainCapabilities","type":"->","args":[null]},{"file":"/var/www/html/lib/public/BackgroundJob/TimedJob.php","line":85,"function":"start","class":"OCP\\Backgro
undJob\\Job","type":"->","args":[{"__class__":"OC\\BackgroundJob\\JobList"}]},{"file":"/var/www/html/core/Service/CronService.php","line":176,"function":"start","class":"OCP\\Backgro
undJob\\TimedJob","type":"->","args":[{"__class__":"OC\\BackgroundJob\\JobList"}]},{"file":"/var/www/html/core/Service/CronService.php","line":98,"function":"runCli","class":"OC\\Cor
e\\Service\\CronService","type":"->","args":["cron",null]},{"file":"/var/www/html/cron.php","line":52,"function":"run","class":"OC\\Core\\Service\\CronService","type":"->","args":[nu
ll]}],"File":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","Line":277,"message":"Failed to fetch discovery: cURL error 35: TLS connect error: error:0A000458:
SSL routines::tlsv1 unrecognized name (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://collab.kingma.ch/hosting/discovery","exception":"{\"class\":\"GuzzleHttp\\E
xception\\ConnectException\",\"message\":\"cURL error 35: TLS connect error: error:0A000458:SSL routines::tlsv1 unrecognized name (see https://curl.haxx.se/libcurl/c/libcurl-errors.h
tml) for https://collab.kingma.ch/hosting/discovery\",\"code\":0,\"file\":\"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php:277\",\"trace\":\"#0 /var/www/html/3r
dparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php(207): GuzzleHttp\\Handler\\CurlFactory::createRejection(Object(GuzzleHttp\\Handler\\EasyHandle), Array)\\n#1 /var/www/html/3rdpar
ty/guzzlehttp/guzzle/src/Handler/CurlFactory.php(159): GuzzleHttp\\Handler\\CurlFactory::finishError(Object(GuzzleHttp\\Handler\\CurlHandler), Object(GuzzleHttp\\Handler\\EasyHandle)
, Object(GuzzleHttp\\Handler\\CurlFactory))\\n#2 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlHandler.php(47): GuzzleHttp\\Handler\\CurlFactory::finish(Object(GuzzleHttp\
\Handler\\CurlHandler), Object(GuzzleHttp\\Handler\\EasyHandle), Object(GuzzleHttp\\Handler\\CurlFactory))\\n#3 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php(142): Guzz
leHttp\\Handler\\CurlHandler->__invoke(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#4 /var/www/html/lib/private/Http/Client/DnsPinMiddleware.php(110): GuzzleHttp\\Middleware::{closur
e:{closure:GuzzleHttp\\Middleware::tap():137}:138}(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#5 /var/www/html/3rdparty/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php(35): OC\\Http
\\Client\\DnsPinMiddleware->{closure:{closure:OC\\Http\\Client\\DnsPinMiddleware::addDnsPinning():104}:105}(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#6 /var/www/html/3rdparty/guzz
lehttp/guzzle/src/Middleware.php(31): GuzzleHttp\\PrepareBodyMiddleware->__invoke(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#7 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Redirect
Middleware.php(71): GuzzleHttp\\Middleware::{closure:{closure:GuzzleHttp\\Middleware::cookies():28}:29}(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#8 /var/www/html/3rdparty/guzzleht
tp/guzzle/src/Middleware.php(66): GuzzleHttp\\RedirectMiddleware->__invoke(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#9 /var/www/html/3rdparty/guzzlehttp/guzzle/src/HandlerStack.ph
p(75): GuzzleHttp\\Middleware::{closure:{closure:GuzzleHttp\\Middleware::httpErrors():60}:61}(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#10 /var/www/html/3rdparty/guzzlehttp/guzzle
/src/Client.php(333): GuzzleHttp\\HandlerStack->__invoke(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#11 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php(169): GuzzleHttp\\Cli
ent->transfer(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#12 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php(189): GuzzleHttp\\Client->requestAsync('get', Object(GuzzleHttp\
\Psr7\\Uri), Array)\\n#13 /var/www/html/lib/private/Http/Client/Client.php(219): GuzzleHttp\\Client->request('get', 'https://collab....', Array)\\n#14 /var/www/html/custom_apps/richd
ocuments/lib/Service/DiscoveryService.php(62): OC\\Http\\Client\\Client->get('https://collab....', Array)\\n#15 /var/www/html/custom_apps/richdocuments/lib/Service/CachedRequestServi
ce.php(74): OCA\\Richdocuments\\Service\\DiscoveryService->sendRequest(Object(OC\\Http\\Client\\Client))\\n#16 /var/www/html/custom_apps/richdocuments/lib/Backgroundjobs/ObtainCapabi
lities.php(42): OCA\\Richdocuments\\Service\\CachedRequestService->fetch()\\n#17 /var/www/html/lib/public/BackgroundJob/Job.php(47): OCA\\Richdocuments\\Backgroundjobs\\ObtainCapabil
ities->run(NULL)\\n#18 /var/www/html/lib/public/BackgroundJob/TimedJob.php(85): OCP\\BackgroundJob\\Job->start(Object(OC\\BackgroundJob\\JobList))\\n#19 /var/www/html/core/Service/Cr
onService.php(176): OCP\\BackgroundJob\\TimedJob->start(Object(OC\\BackgroundJob\\JobList))\\n#20 /var/www/html/core/Service/CronService.php(98): OC\\Core\\Service\\CronService->runC
li('cron', NULL)\\n#21 /var/www/html/cron.php(52): OC\\Core\\Service\\CronService->run(NULL)\\n#22 {main}\"}","CustomMessage":"Failed to fetch discovery: cURL error 35: TLS connect e
rror: error:0A000458:SSL routines::tlsv1 unrecognized name (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://collab.kingma.ch/hosting/discovery"}}
{"reqId":"L1D7CVFVAHsNsnTFu275","level":3,"time":"2026-03-22T07:21:02+00:00","remoteAddr":"","user":"--","app":"richdocuments","method":"","url":"--","scriptName":"/var/www/html/cron
.php","message":"Failed to fetch capabilities: cURL error 35: TLS connect error: error:0A000458:SSL routines::tlsv1 unrecognized name (see https://curl.haxx.se/libcurl/c/libcurl-erro
rs.html) for https://collab.kingma.ch/hosting/capabilities","userAgent":"--","version":"33.0.0.16","occ_command":["/var/www/html/cron.php"],"exception":{"Exception":"GuzzleHttp\\Exce
ption\\ConnectException","Message":"cURL error 35: TLS connect error: error:0A000458:SSL routines::tlsv1 unrecognized name (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) fo
r https://collab.kingma.ch/hosting/capabilities","Code":0,"Trace":[{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":207,"function":"createRejecti
on","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory
.php","line":159,"function":"finishError","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":[{"__class__":"GuzzleHttp\\Handler\\CurlHandler"},"*** sensitive parameters re
placed ***",{"__class__":"GuzzleHttp\\Handler\\CurlFactory"}]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlHandler.php","line":47,"function":"finish","class":"G
uzzleHttp\\Handler\\CurlFactory","type":"::","args":[{"__class__":"GuzzleHttp\\Handler\\CurlHandler"},"*** sensitive parameters replaced ***",{"__class__":"GuzzleHttp\\Handler\\CurlF
actory"}]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":142,"function":"__invoke","class":"GuzzleHttp\\Handler\\CurlHandler","type":"->","args":["***
sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/Http/Client/DnsPinMiddleware.php","line":110,"function":"{closure:{clo
sure:GuzzleHttp\\Middleware::tap():137}:138}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehtt
p/guzzle/src/PrepareBodyMiddleware.php","line":35,"function":"{closure:{closure:OC\\Http\\Client\\DnsPinMiddleware::addDnsPinning():104}:105}","class":"OC\\Http\\Client\\DnsPinMiddle
ware","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":31,"function":"__invoke","class":"Guz
zleHttp\\PrepareBodyMiddleware","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzl
e/src/RedirectMiddleware.php","line":71,"function":"{closure:{closure:GuzzleHttp\\Middleware::cookies():28}:29}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive p
arameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":66,"function":"__invoke","class":"GuzzleHttp\\RedirectMiddleware","type":"->","
args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/HandlerStack.php","line":75,"function":
"{closure:{closure:GuzzleHttp\\Middleware::httpErrors():60}:61}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html
/3rdparty/guzzlehttp/guzzle/src/Client.php","line":333,"function":"__invoke","class":"GuzzleHttp\\HandlerStack","type":"->","args":["*** sensitive parameters replaced ***","*** sensi
tive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php","line":169,"function":"transfer","class":"GuzzleHttp\\Client","type":"->","args":["*
** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php","line":189,"function":"requestAsync"
,"class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/Http/Client/Client.php","line":219,"function":"request"
,"class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***",{"verify":"/var/www/html/resources/config/ca-bundle.
crt","timeout":5,"version":"2.0","curl":{"84":4},"nextcloud":{"allow_local_address":true},"0":"And 2 more entries, set log level to debug to see all entries"}]},{"file":"/var/www/htm
l/custom_apps/richdocuments/lib/Service/CapabilitiesService.php","line":134,"function":"get","class":"OC\\Http\\Client\\Client","type":"->","args":["*** sensitive parameters replaced
***"]},{"file":"/var/www/html/custom_apps/richdocuments/lib/Service/CachedRequestService.php","line":74,"function":"sendRequest","class":"OCA\\Richdocuments\\Service\\CapabilitiesSe
rvice","type":"->","args":[{"__class__":"OC\\Http\\Client\\Client"}]},{"file":"/var/www/html/custom_apps/richdocuments/lib/Backgroundjobs/ObtainCapabilities.php","line":36,"function"
:"fetch","class":"OCA\\Richdocuments\\Service\\CachedRequestService","type":"->","args":[]},{"file":"/var/www/html/lib/public/BackgroundJob/Job.php","line":47,"function":"run","class
":"OCA\\Richdocuments\\Backgroundjobs\\ObtainCapabilities","type":"->","args":[null]},{"file":"/var/www/html/lib/public/BackgroundJob/TimedJob.php","line":85,"function":"start","clas
s":"OCP\\BackgroundJob\\Job","type":"->","args":[{"__class__":"OC\\BackgroundJob\\JobList"}]},{"file":"/var/www/html/core/Service/CronService.php","line":176,"function":"start","clas
s":"OCP\\BackgroundJob\\TimedJob","type":"->","args":[{"__class__":"OC\\BackgroundJob\\JobList"}]},{"file":"/var/www/html/core/Service/CronService.php","line":98,"function":"runCli",
"class":"OC\\Core\\Service\\CronService","type":"->","args":["cron",null]},{"file":"/var/www/html/cron.php","line":52,"function":"run","class":"OC\\Core\\Service\\CronService","type"
:"->","args":[null]}],"File":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","Line":277,"message":"Failed to fetch capabilities: cURL error 35: TLS connect err
or: error:0A000458:SSL routines::tlsv1 unrecognized name (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://collab.kingma.ch/hosting/capabilities","exception":"{\"c
lass\":\"GuzzleHttp\\Exception\\ConnectException\",\"message\":\"cURL error 35: TLS connect error: error:0A000458:SSL routines::tlsv1 unrecognized name (see https://curl.haxx.se/libc
url/c/libcurl-errors.html) for https://collab.kingma.ch/hosting/capabilities\",\"code\":0,\"file\":\"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php:277\",\"trac
e\":\"#0 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php(207): GuzzleHttp\\Handler\\CurlFactory::createRejection(Object(GuzzleHttp\\Handler\\EasyHandle), Array)\
\n#1 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php(159): GuzzleHttp\\Handler\\CurlFactory::finishError(Object(GuzzleHttp\\Handler\\CurlHandler), Object(GuzzleH
ttp\\Handler\\EasyHandle), Object(GuzzleHttp\\Handler\\CurlFactory))\\n#2 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlHandler.php(47): GuzzleHttp\\Handler\\CurlFactory::
finish(Object(GuzzleHttp\\Handler\\CurlHandler), Object(GuzzleHttp\\Handler\\EasyHandle), Object(GuzzleHttp\\Handler\\CurlFactory))\\n#3 /var/www/html/3rdparty/guzzlehttp/guzzle/src/
Middleware.php(142): GuzzleHttp\\Handler\\CurlHandler->__invoke(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#4 /var/www/html/lib/private/Http/Client/DnsPinMiddleware.php(110): Guzzle
Http\\Middleware::{closure:{closure:GuzzleHttp\\Middleware::tap():137}:138}(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#5 /var/www/html/3rdparty/guzzlehttp/guzzle/src/PrepareBodyMid
dleware.php(35): OC\\Http\\Client\\DnsPinMiddleware->{closure:{closure:OC\\Http\\Client\\DnsPinMiddleware::addDnsPinning():104}:105}(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#6 /v
ar/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php(31): GuzzleHttp\\PrepareBodyMiddleware->__invoke(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#7 /var/www/html/3rdparty/guzzl
ehttp/guzzle/src/RedirectMiddleware.php(71): GuzzleHttp\\Middleware::{closure:{closure:GuzzleHttp\\Middleware::cookies():28}:29}(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#8 /var/w
ww/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php(66): GuzzleHttp\\RedirectMiddleware->__invoke(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#9 /var/www/html/3rdparty/guzzlehttp/g
uzzle/src/HandlerStack.php(75): GuzzleHttp\\Middleware::{closure:{closure:GuzzleHttp\\Middleware::httpErrors():60}:61}(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#10 /var/www/html/3
rdparty/guzzlehttp/guzzle/src/Client.php(333): GuzzleHttp\\HandlerStack->__invoke(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#11 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.
php(169): GuzzleHttp\\Client->transfer(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#12 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php(189): GuzzleHttp\\Client->requestAsync(
'get', Object(GuzzleHttp\\Psr7\\Uri), Array)\\n#13 /var/www/html/lib/private/Http/Client/Client.php(219): GuzzleHttp\\Client->request('get', 'https://collab....', Array)\\n#14 /var/w
ww/html/custom_apps/richdocuments/lib/Service/CapabilitiesService.php(134): OC\\Http\\Client\\Client->get('https://collab....', Array)\\n#15 /var/www/html/custom_apps/richdocuments/l
ib/Service/CachedRequestService.php(74): OCA\\Richdocuments\\Service\\CapabilitiesService->sendRequest(Object(OC\\Http\\Client\\Client))\\n#16 /var/www/html/custom_apps/richdocuments
/lib/Backgroundjobs/ObtainCapabilities.php(36): OCA\\Richdocuments\\Service\\CachedRequestService->fetch()\\n#17 /var/www/html/lib/public/BackgroundJob/Job.php(47): OCA\\Richdocument
s\\Backgroundjobs\\ObtainCapabilities->run(NULL)\\n#18 /var/www/html/lib/public/BackgroundJob/TimedJob.php(85): OCP\\BackgroundJob\\Job->start(Object(OC\\BackgroundJob\\JobList))\\n#
19 /var/www/html/core/Service/CronService.php(176): OCP\\BackgroundJob\\TimedJob->start(Object(OC\\BackgroundJob\\JobList))\\n#20 /var/www/html/core/Service/CronService.php(98): OC\\
Core\\Service\\CronService->runCli('cron', NULL)\\n#21 /var/www/html/cron.php(52): OC\\Core\\Service\\CronService->run(NULL)\\n#22 {main}\"}","CustomMessage":"Failed to fetch capabil
ities: cURL error 35: TLS connect error: error:0A000458:SSL routines::tlsv1 unrecognized name (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://collab.kingma.ch/ho
sting/capabilities"}}
{"reqId":"L1D7CVFVAHsNsnTFu275","level":3,"time":"2026-03-22T07:21:02+00:00","remoteAddr":"","user":"--","app":"richdocuments","method":"","url":"--","scriptName":"/var/www/html/cron
.php","message":"Failed to fetch discovery: cURL error 35: TLS connect error: error:0A000458:SSL routines::tlsv1 unrecognized name (see https://curl.haxx.se/libcurl/c/libcurl-errors.
html) for https://collab.kingma.ch/hosting/discovery","userAgent":"--","version":"33.0.0.16","occ_command":["/var/www/html/cron.php"],"exception":{"Exception":"GuzzleHttp\\Exception\
\ConnectException","Message":"cURL error 35: TLS connect error: error:0A000458:SSL routines::tlsv1 unrecognized name (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http
s://collab.kingma.ch/hosting/discovery","Code":0,"Trace":[{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":207,"function":"createRejection","clas
s":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","li
ne":159,"function":"finishError","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":[{"__class__":"GuzzleHttp\\Handler\\CurlHandler"},"*** sensitive parameters replaced **
*",{"__class__":"GuzzleHttp\\Handler\\CurlFactory"}]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlHandler.php","line":47,"function":"finish","class":"GuzzleHttp
\\Handler\\CurlFactory","type":"::","args":[{"__class__":"GuzzleHttp\\Handler\\CurlHandler"},"*** sensitive parameters replaced ***",{"__class__":"GuzzleHttp\\Handler\\CurlFactory"}]
},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":142,"function":"__invoke","class":"GuzzleHttp\\Handler\\CurlHandler","type":"->","args":["*** sensitive
parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/Http/Client/DnsPinMiddleware.php","line":110,"function":"{closure:{closure:Guzz
leHttp\\Middleware::tap():137}:138}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/
src/PrepareBodyMiddleware.php","line":35,"function":"{closure:{closure:OC\\Http\\Client\\DnsPinMiddleware::addDnsPinning():104}:105}","class":"OC\\Http\\Client\\DnsPinMiddleware","ty
pe":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":31,"function":"__invoke","class":"GuzzleHttp\\
PrepareBodyMiddleware","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Red
irectMiddleware.php","line":71,"function":"{closure:{closure:GuzzleHttp\\Middleware::cookies():28}:29}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters
replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":66,"function":"__invoke","class":"GuzzleHttp\\RedirectMiddleware","type":"->","args":["*
** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/HandlerStack.php","line":75,"function":"{closure
:{closure:GuzzleHttp\\Middleware::httpErrors():60}:61}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty
/guzzlehttp/guzzle/src/Client.php","line":333,"function":"__invoke","class":"GuzzleHttp\\HandlerStack","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive para
meters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php","line":169,"function":"transfer","class":"GuzzleHttp\\Client","type":"->","args":["*** sensit
ive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php","line":189,"function":"requestAsync","class":
"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/Http/Client/Client.php","line":219,"function":"request","class":
"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***",{"verify":"/var/www/html/resources/config/ca-bundle.crt","tim
eout":5,"version":"2.0","curl":{"84":4},"nextcloud":{"allow_local_address":true},"0":"And 2 more entries, set log level to debug to see all entries"}]},{"file":"/var/www/html/custom_
apps/richdocuments/lib/Service/DiscoveryService.php","line":62,"function":"get","class":"OC\\Http\\Client\\Client","type":"->","args":["*** sensitive parameters replaced ***"]},{"fil
e":"/var/www/html/custom_apps/richdocuments/lib/Service/CachedRequestService.php","line":74,"function":"sendRequest","class":"OCA\\Richdocuments\\Service\\DiscoveryService","type":"-
>","args":[{"__class__":"OC\\Http\\Client\\Client"}]},{"file":"/var/www/html/custom_apps/richdocuments/lib/Backgroundjobs/ObtainCapabilities.php","line":42,"function":"fetch","class"
:"OCA\\Richdocuments\\Service\\CachedRequestService","type":"->","args":[]},{"file":"/var/www/html/lib/public/BackgroundJob/Job.php","line":47,"function":"run","class":"OCA\\Richdocu
ments\\Backgroundjobs\\ObtainCapabilities","type":"->","args":[null]},{"file":"/var/www/html/lib/public/BackgroundJob/TimedJob.php","line":85,"function":"start","class":"OCP\\Backgro
undJob\\Job","type":"->","args":[{"__class__":"OC\\BackgroundJob\\JobList"}]},{"file":"/var/www/html/core/Service/CronService.php","line":176,"function":"start","class":"OCP\\Backgro
undJob\\TimedJob","type":"->","args":[{"__class__":"OC\\BackgroundJob\\JobList"}]},{"file":"/var/www/html/core/Service/CronService.php","line":98,"function":"runCli","class":"OC\\Cor
e\\Service\\CronService","type":"->","args":["cron",null]},{"file":"/var/www/html/cron.php","line":52,"function":"run","class":"OC\\Core\\Service\\CronService","type":"->","args":[nu
ll]}],"File":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","Line":277,"message":"Failed to fetch discovery: cURL error 35: TLS connect error: error:0A000458:
SSL routines::tlsv1 unrecognized name (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://collab.kingma.ch/hosting/discovery","exception":"{\"class\":\"GuzzleHttp\\E
xception\\ConnectException\",\"message\":\"cURL error 35: TLS connect error: error:0A000458:SSL routines::tlsv1 unrecognized name (see https://curl.haxx.se/libcurl/c/libcurl-errors.h
tml) for https://collab.kingma.ch/hosting/discovery\",\"code\":0,\"file\":\"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php:277\",\"trace\":\"#0 /var/www/html/3r
dparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php(207): GuzzleHttp\\Handler\\CurlFactory::createRejection(Object(GuzzleHttp\\Handler\\EasyHandle), Array)\\n#1 /var/www/html/3rdpar
ty/guzzlehttp/guzzle/src/Handler/CurlFactory.php(159): GuzzleHttp\\Handler\\CurlFactory::finishError(Object(GuzzleHttp\\Handler\\CurlHandler), Object(GuzzleHttp\\Handler\\EasyHandle)
, Object(GuzzleHttp\\Handler\\CurlFactory))\\n#2 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlHandler.php(47): GuzzleHttp\\Handler\\CurlFactory::finish(Object(GuzzleHttp\
\Handler\\CurlHandler), Object(GuzzleHttp\\Handler\\EasyHandle), Object(GuzzleHttp\\Handler\\CurlFactory))\\n#3 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php(142): Guzz
leHttp\\Handler\\CurlHandler->__invoke(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#4 /var/www/html/lib/private/Http/Client/DnsPinMiddleware.php(110): GuzzleHttp\\Middleware::{closur
e:{closure:GuzzleHttp\\Middleware::tap():137}:138}(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#5 /var/www/html/3rdparty/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php(35): OC\\Http
\\Client\\DnsPinMiddleware->{closure:{closure:OC\\Http\\Client\\DnsPinMiddleware::addDnsPinning():104}:105}(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#6 /var/www/html/3rdparty/guzz
lehttp/guzzle/src/Middleware.php(31): GuzzleHttp\\PrepareBodyMiddleware->__invoke(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#7 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Redirect
Middleware.php(71): GuzzleHttp\\Middleware::{closure:{closure:GuzzleHttp\\Middleware::cookies():28}:29}(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#8 /var/www/html/3rdparty/guzzleht
tp/guzzle/src/Middleware.php(66): GuzzleHttp\\RedirectMiddleware->__invoke(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#9 /var/www/html/3rdparty/guzzlehttp/guzzle/src/HandlerStack.ph
p(75): GuzzleHttp\\Middleware::{closure:{closure:GuzzleHttp\\Middleware::httpErrors():60}:61}(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#10 /var/www/html/3rdparty/guzzlehttp/guzzle
/src/Client.php(333): GuzzleHttp\\HandlerStack->__invoke(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#11 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php(169): GuzzleHttp\\Cli
ent->transfer(Object(GuzzleHttp\\Psr7\\Request), Array)\\n#12 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php(189): GuzzleHttp\\Client->requestAsync('get', Object(GuzzleHttp\
\Psr7\\Uri), Array)\\n#13 /var/www/html/lib/private/Http/Client/Client.php(219): GuzzleHttp\\Client->request('get', 'https://collab....', Array)\\n#14 /var/www/html/custom_apps/richd
ocuments/lib/Service/DiscoveryService.php(62): OC\\Http\\Client\\Client->get('https://collab....', Array)\\n#15 /var/www/html/custom_apps/richdocuments/lib/Service/CachedRequestServi
ce.php(74): OCA\\Richdocuments\\Service\\DiscoveryService->sendRequest(Object(OC\\Http\\Client\\Client))\\n#16 /var/www/html/custom_apps/richdocuments/lib/Backgroundjobs/ObtainCapabi
lities.php(42): OCA\\Richdocuments\\Service\\CachedRequestService->fetch()\\n#17 /var/www/html/lib/public/BackgroundJob/Job.php(47): OCA\\Richdocuments\\Backgroundjobs\\ObtainCapabil
ities->run(NULL)\\n#18 /var/www/html/lib/public/BackgroundJob/TimedJob.php(85): OCP\\BackgroundJob\\Job->start(Object(OC\\BackgroundJob\\JobList))\\n#19 /var/www/html/core/Service/Cr
onService.php(176): OCP\\BackgroundJob\\TimedJob->start(Object(OC\\BackgroundJob\\JobList))\\n#20 /var/www/html/core/Service/CronService.php(98): OC\\Core\\Service\\CronService->runC
li('cron', NULL)\\n#21 /var/www/html/cron.php(52): OC\\Core\\Service\\CronService->run(NULL)\\n#22 {main}\"}","CustomMessage":"Failed to fetch discovery: cURL error 35: TLS connect e
rror: error:0A000458:SSL routines::tlsv1 unrecognized name (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://collab.kingma.ch/hosting/discovery"}}

Web Browser

Apps

Enabled:

  • activity: 6.0.0-dev.0
  • admin_audit: 1.23.0
  • bookmarks: 16.1.3
  • brewmemo: 0.6.0
  • bruteforcesettings: 6.0.0-dev.0
  • calendar: 6.2.1
  • circles: 33.0.0
  • cloud_federation_api: 1.17.0
  • comments: 1.23.0
  • contacts: 8.4.1
  • contactsinteraction: 1.14.1
  • cookbook: 0.11.6
  • dashboard: 7.13.0
  • dav: 1.36.0
  • encryption: 2.21.0
  • end_to_end_encryption: 2.0.0
  • federatedfilesharing: 1.23.0
  • federation: 1.23.0
  • files: 2.5.0
  • files_downloadlimit: 5.1.0-dev.0
  • files_external: 1.25.1
  • files_pdfviewer: 6.0.0-dev.0
  • files_reminders: 1.6.0
  • files_sharing: 1.25.2
  • files_trashbin: 1.23.0
  • files_versions: 1.26.0
  • firstrunwizard: 6.0.0-dev.0
  • fulltextsearch: 33.0.0
  • groupfolders: 21.0.6
  • logreader: 6.0.0
  • lookup_server_connector: 1.21.0
  • nextcloud_announcements: 5.0.0
  • notes: 4.13.0
  • notifications: 6.0.0
  • oauth2: 1.21.0
  • password_policy: 5.0.0-dev.0
  • photos: 6.0.0-dev.0
  • privacy: 5.0.0-dev.0
  • profile: 1.2.0
  • provisioning_api: 1.23.0
  • recommendations: 6.0.0-dev.0
  • related_resources: 4.0.0-dev.0
  • serverinfo: 5.0.0-dev.0
  • settings: 1.16.0
  • sharebymail: 1.23.0
  • support: 5.0.0
  • survey_client: 5.0.0-dev.0
  • suspicious_login: 11.0.0-dev.0
  • systemtags: 1.23.0
  • text: 7.0.0-dev.3
  • theming: 2.8.0
  • twofactor_backupcodes: 1.22.0
  • twofactor_nextcloud_notification: 7.0.0
  • twofactor_totp: 15.0.0-dev.0
  • updatenotification: 1.23.0
  • user_status: 1.13.0
  • viewer: 6.0.0-dev.0
  • weather_status: 1.13.0
  • webhook_listeners: 1.5.0
  • workflowengine: 2.15.0
    Disabled:
  • app_api: 33.0.0 (installed 32.0.0)
  • camerarawpreviews: 0.8.8 (installed 0.8.8)
  • documentserver_community: 0.2.1 (installed 0.2.1)
  • keeweb: 0.6.22 (installed 0.6.22)
  • onlyoffice: 10.0.0 (installed 10.0.0)
  • richdocuments: 10.1.2 (installed 10.1.2)
  • user_ldap: 1.24.0 (installed 1.22.0)

The htaccess used (not touched it since upgrade)

<IfModule mod_headers.c>
    <IfModule mod_setenvif.c>
        <IfModule mod_fcgid.c>
            SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
            RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
        </IfModule>
        <IfModule mod_proxy_fcgi.c>
            SetEnvIfNoCase Authorization "(.+)" HTTP_AUTHORIZATION=$1
        </IfModule>
        <IfModule mod_lsapi.c>
            SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
            RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
        </IfModule>
    </IfModule>

    <IfModule mod_env.c>
        # Add security and privacy related headers
        # Avoid doubled headers by unsetting headers in "onsuccess" table,
        # then add headers to "always" table: https://github.com/nextcloud/server/pull/19002

        <If "%{REQUEST_URI} =~ m#/login$#">
            # Only on the login page we need any Origin or Referer header set.
            Header onsuccess unset Referrer-Policy
            Header always set Referrer-Policy "same-origin"
        </If>
        <Else>
            Header onsuccess unset Referrer-Policy
            Header always set Referrer-Policy "no-referrer"
        </Else>

        Header onsuccess unset X-Content-Type-Options
        Header always set X-Content-Type-Options "nosniff"

        Header onsuccess unset X-Frame-Options
        Header always set X-Frame-Options "SAMEORIGIN"

        Header onsuccess unset X-Permitted-Cross-Domain-Policies
        Header always set X-Permitted-Cross-Domain-Policies "none"

        Header onsuccess unset X-Robots-Tag
        Header always set X-Robots-Tag "noindex, nofollow"

        SetEnv modHeadersAvailable true
    </IfModule>

    # Add cache control for static resources
    <FilesMatch "\.(css|js|mjs|svg|gif|png|jpg|webp|ico|wasm|tflite)$">
        <If "%{QUERY_STRING} =~ /(^|&)v=/">
            Header set Cache-Control "max-age=15778463, immutable"
        </If>
        <Else>
            Header set Cache-Control "max-age=15778463"
        </Else>
    </FilesMatch>

    # Let browsers cache OTF and WOFF files for a week
    <FilesMatch "\.(otf|woff2?)$">
        Header set Cache-Control "max-age=604800"
    </FilesMatch>
</IfModule>

<IfModule mod_php.c>
    php_value default_charset 'UTF-8'
    php_value output_buffering 0
    <IfModule mod_env.c>
        SetEnv htaccessWorking true
    </IfModule>
</IfModule>

<IfModule mod_mime.c>
    AddType image/svg+xml svg svgz
    AddType application/wasm wasm
    AddEncoding gzip svgz
    # Serve ESM javascript files (.mjs) with correct mime type
    AddType text/javascript js mjs
</IfModule>

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html
</IfModule>

<IfModule pagespeed_module>
    ModPagespeed Off
</IfModule>

#############
#### Rewrites
#############

<IfModule mod_rewrite.c>
    RewriteEngine on

##
## Rule: Workaround for WebDAV with apache+php-cgi
##
## Context:
##    - Sets the environment variable `HTTP_AUTHORIZATION` to the value of the `Authorization` request header
##    - Always executed before and along with other rules (no `L` used)
##    - XXX: *May* be replaced with an equivalent SetEnvIf in theory
##    - XXX: SetEnvIf approach is already in use above for mod_proxy_cgi / mod_lsapi / mod_fcgid
##

    RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

##
## Rule: Workaround for WebDAV with MS DavClnt
##
## Context: 
##    - DavClnt attempts an OPTIONS request against `/` instead of the specified endpoint
##    - Redirects the client to the endpoint rather than the login page (which confuses DavClnt)
##

    RewriteCond %{HTTP_USER_AGENT} DavClnt
    RewriteRule ^$ /remote.php/webdav/ [L,R=302]

##
## Rule: Map the RFC 8615 / RFC 6764 compliant well-known URI for CardDAV to our Remote DAV endpoint
##

    RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]

##
## Rule: Map the RFC 8615 / RFC 6764 compliant well-known URI for CalDAV to our Remote DAV endpoint
##

    RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]

##
## Rule: Map /remote* --> /remote.php* including the query string
##
## Context:
##    - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
##    - XXX: Is this even used anymore? Seems a relic from <NC12
##

    RewriteRule ^remote/(.*) remote.php [QSA,L]

##
## Rule: Prevent access to non-public files
##

    RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]

##
## Rule: Maps most RFC 8615 compliant well-known URIs to our main frontend controller (/index.php) by default
##
## Context:
##    - Intentionally excludes URIs used for HTTPS certificate verifications
##        - RFC 8555 / ACME HTTP Challenges (acme-challenge) 
##        - File-based Validations (pki-validation)
##    - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
##    - XXX: Sometimes we are using `/index.php` and other times `index.php` as our replacement URI; this may be incorrect
##

    RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]

##
## Rule: Map the ocm-provider handling to our main frontend controller (/index.php)
##
## Context:
##    - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
##    - XXX: Sometimes we are using `/index.php` and other times `index.php` as our replacement URI; this may be incorrect
##

    RewriteRule ^ocm-provider/?$ index.php [QSA,L]

##
## Rule: Prevent access to more non-public files
##
## Context:
##    - XXX It may make sense to merge some of these with the others (i.e. the ones that don't need to be last)
##

    RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]

</IfModule>

# Clients like xDavv5 on Android, or Cyberduck, use chunked requests.
# When FastCGI or FPM is used with apache, requests arrive to Nextcloud without any content.
# This leads to the creation of empty files.
# The following directive will force the problematic requests to be buffered before being forwarded to Nextcloud.
# This way, the "Transfer-Encoding" header is removed, the "Content-Length" header is set, and the request content is proxied to Nextcloud.
# Here are more information about the issue:
#  - https://docs.cyberduck.io/mountainduck/issues/fastcgi/
#  - https://docs.nextcloud.com/server/latest/admin_manual/issues/general_troubleshooting.html#troubleshooting-webdav

<IfModule mod_setenvif.c>
    SetEnvIfNoCase Transfer-Encoding "chunked" proxy-sendcl=1
</IfModule>

# Apache disabled the sending of the server-side content-length header
# in their 2.4.59 patch updated which breaks some use-cases in Nextcloud.
# Setting ap_trust_cgilike_cl allows to bring back the usual behaviour.
# See https://bz.apache.org/bugzilla/show_bug.cgi?id=68973

<IfModule mod_env.c>
    SetEnv ap_trust_cgilike_cl
</IfModule>

AddDefaultCharset utf-8
Options -Indexes

try clearing browser cache as mentioned here CSRF check Fehler

see explanation here:

in your NPM host config ensure “Cache assets” is disabled:

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