Nextcloud can't provide federated shares when using URL subdirectory like default /nextcloud

I have searched the forum for similar issues

on

This category is for issues regarding specific apps, NOT general issues with YunoHost.

on

This form is written in English but feel free to write in French if you’re more comfortable!

on

What app is this about, and its version

Nextcloud, 34.0.4~ynh1

What YunoHost version are you running

12.1.41.2 (stable)

What type of hardware are you using

Virtual machine

Describe your issue

Trying to provide Federated Share to another Nextcloud server ( v33.0.6 )

I did open this here to raise awareness of this issue in yunohost community, and to get some ground and samples for Nextcloud community where this Bug is recorded and still open waiting for triage.

I checked it with Yunohost with two install of 34.0.4 servers one at root ‘/’ and the other at ‘/nextcloud’ , i can open a federated directory from (another) server only for this ‘/’ and not for ‘/nextcloud’.

Having it working with server under /nextcloud is quite important for Yunohost community, since yunohost install can provide only one domain else you need to have your own. So this domain has to run mutliple applications, so a webroot is required and this is the default.

This actualy is [Bug]: Sharing between NC instances (federation) fails since v32 if instances use URL prefixes · Issue #58502 · nextcloud/server · GitHub

Share relevant logs or error messages

This is error on nextcloud server owning federated identiy ( not a yunohost one ) , there is nothing really visible on yunohost one, this error shows that Nextcloud yunohost does not provide a good signature.

{
“reqId”: “5V4mLkKTHJRTFUpe3cT0”,
“level”: 2,
“time”: “2026-10-05T16:57:26+00:00”,
“remoteAddr”: “86.253.221.145”,
“user”: “–”,
“app”: “no app in context”,
“method”: “POST”,
“url”: “/nextcloud/index.phps”,
“scriptName”: “/nextcloud/index.php”,
“message”: “signature could not be verified”,
“userAgent”: “Nextcloud-Server-Crawler/34.0.4”,
“version”: “33.0.6.2”,
“exception”: {
“Exception”: “OCP\Security\Signature\Exceptions\InvalidSignatureException”,
“Message”: “signature issue”,
“Code”: 0,
“Trace”: [
{
“file”: “/var/www/nextcloud/lib/private/Security/Signature/SignatureManager.php”,
“line”: 157,
“function”: “verify”,
“class”: “OC\Security\Signature\Model\IncomingSignedRequest”,
“type”: “->”
},
{
“file”: “/var/www/nextcloud/lib/private/Security/Signature/SignatureManager.php”,
“line”: 108,
“function”: “confirmIncomingRequestSignature”,
“class”: “OC\Security\Signature\SignatureManager”,
“type”: “->”
},
{
“file”: “/var/www/nextcloud/lib/private/OCM/OCMDiscoveryService.php”,
“line”: 254,
“function”: “getIncomingSignedRequest”,
“class”: “OC\Security\Signature\SignatureManager”,
“type”: “->”
},
{
“file”: “/var/www/nextcloud/apps/cloud_federation_api/lib/Controller/RequestHandlerController.php”,
“line”: 112,
“function”: “getIncomingSignedRequest”,
“class”: “OC\OCM\OCMDiscoveryService”,
“type”: “->”
},
{
“file”: “/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php”,
“line”: 205,
“function”: “addShare”,
“class”: “OCA\CloudFederationAPI\Controller\RequestHandlerController”,
“type”: “->”
},
{
“file”: “/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php”,
“line”: 118,
“function”: “executeController”,
“class”: “OC\AppFramework\Http\Dispatcher”,
“type”: “->”
},
{
“file”: “/var/www/nextcloud/lib/private/AppFramework/App.php”,
“line”: 153,
“function”: “dispatch”,
“class”: “OC\AppFramework\Http\Dispatcher”,
“type”: “->”
},
{
“file”: “/var/www/nextcloud/lib/private/Route/Router.php”,
“line”: 321,
“function”: “main”,
“class”: “OC\AppFramework\App”,
“type”: “::”
},
{
“file”: “/var/www/nextcloud/lib/base.php”,
“line”: 1155,
“function”: “match”,
“class”: “OC\Route\Router”,
“type”: “->”
},
{
“file”: “/var/www/nextcloud/index.php”,
“line”: 25,
“function”: “handleRequest”,
“class”: “OC”,
“type”: “::”
}
],
“File”: “/var/www/nextcloud/lib/private/Security/Signature/Model/IncomingSignedRequest.php”,
“Line”: 255,
“message”: “signature could not be verified”,
“exception”: “{"class":"OCP\Security\Signature\Exceptions\InvalidSignatureException","message":"signature issue","code":0,"file":"/var/www/nextcloud/lib/private/Security/Signature/Model/IncomingSignedRequest.php:255","trace":"#0 /var/www/nextcloud/lib/private/Security/Signature/SignatureManager.php(157): OC\Security\Signature\Model\IncomingSignedRequest->verify()\n#1 /var/www/nextcloud/lib/private/Security/Signature/SignatureManager.php(108): OC\Security\Signature\SignatureManager->confirmIncomingRequestSignature()\n#2 /var/www/nextcloud/lib/private/OCM/OCMDiscoveryService.php(254): OC\Security\Signature\SignatureManager->getIncomingSignedRequest()\n#3 /var/www/nextcloud/apps/cloud_federation_api/lib/Controller/RequestHandlerController.php(112): OC\OCM\OCMDiscoveryService->getIncomingSignedRequest()\n#4 /var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php(205): OCA\CloudFederationAPI\Controller\RequestHandlerController->addShare()\n#5 /var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php(118): OC\AppFramework\Http\Dispatcher->executeController()\n#6 /var/www/nextcloud/lib/private/AppFramework/App.php(153): OC\AppFramework\Http\Dispatcher->dispatch()\n#7 /var/www/nextcloud/lib/private/Route/Router.php(321): OC\AppFramework\App::main()\n#8 /var/www/nextcloud/lib/base.php(1155): OC\Route\Router->match()\n#9 /var/www/nextcloud/index.php(25): OC::handleRequest()\n#10 {main}"}”,
“signedRequest”: “[unknown(object)]”,
“signatoryManager”: “OC\OCM\OCMSignatoryManager”,
“CustomMessage”: “signature could not be verified”
},
“id”: “6ac3ddde6dde8”
}

J’ai proposé un correctif [Bug]: Sharing between NC instances (federation) fails since v32 if instances use URL prefixes · Issue #58502 · nextcloud/server · GitHub

Il reste encore à le mettre au propre et/ou attendre son inclusion.