Closed artonge closed 1 year ago
When using Azure blob storage, I am prompted with an error 'Content-Length HTTP header is missing' when I try to upload a file.
Uploading files with Azure blob storage should work.
None
RHEL/CentOS
PHP 8.0
Nginx
PostgreSQL
Fresh Nextcloud Server install
No response
Enabled: - activity: 2.18.0 - cloud_federation_api: 1.9.0 - comments: 1.16.0 - contactsinteraction: 1.7.0 - dashboard: 7.6.0 - dav: 1.25.0 - federatedfilesharing: 1.16.0 - federation: 1.16.0 - files: 1.21.1 - files_pdfviewer: 2.7.0 - files_rightclick: 1.5.0 - files_sharing: 1.18.0 - files_trashbin: 1.16.0 - files_versions: 1.19.1 - firstrunwizard: 2.15.0 - hmr_enabler: 1.0.0 - logreader: 2.11.0 - lookup_server_connector: 1.14.0 - nextcloud_announcements: 1.15.0 - notifications: 2.14.0 - oauth2: 1.14.0 - photos: 2.2.0 - privacy: 1.10.0 - profiler: 1.2.0 - provisioning_api: 1.16.0 - recommendations: 1.5.0 - serverinfo: 1.16.0 - settings: 1.8.0 - sharebymail: 1.16.0 - support: 1.9.0 - survey_client: 1.14.0 - systemtags: 1.16.0 - text: 3.7.0 - theming: 2.1.1 - twofactor_backupcodes: 1.15.0 - updatenotification: 1.16.0 - user_status: 1.6.0 - viewer: 1.10.0 - weather_status: 1.6.0 - workflowengine: 2.8.0 Disabled: - admin_audit: 1.16.0 - encryption: 2.14.0 - files_external: 1.18.0 - files_videoplayer: 1.15.0 - testing: 1.16.0 - user_ldap: 1.16.0
{"reqId":"pUHmlLIuhSRKQKKpqDFQ","level":3,"time":"2023-02-15T10:36:23+00:00","remoteAddr":"127.0.0.1","user":"admin","app":"objectstore","method":"PUT","url":"/remote.php/webdav/IMG_20220723_175849645.jpg","message":"Could not create object urn:oid:64 for files/IMG_20220723_175849645.jpg","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/109.0","version":"26.0.0.5","exception":{"Exception":"MicrosoftAzure\\Storage\\Common\\Exceptions\\ServiceException","Message":"Fail:\nCode: 411\nValue: Content-Length HTTP header is missing.\ndetails (if any): \ufeff<?xml version=\"1.0\" encoding=\"utf-8\"?><Error><Code>MissingContentLengthHeader</Code><Message>Content-Length HTTP header is missing.\nRequestId:b5f3f6d1-b01e-002f-7229-41e9a9000000\nTime:2023-02-15T10:36:23.6114207Z</Message><HeaderName>Content-Length</HeaderName></Error>.","Code":411,"Trace":[{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/microsoft/azure-storage-common/src/Common/Internal/ServiceRestProxy.php","line":427,"function":"throwIfError","class":"MicrosoftAzure\\Storage\\Common\\Internal\\ServiceRestProxy","type":"::"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/microsoft/azure-storage-common/src/Common/Internal/ServiceRestProxy.php","line":405,"function":"onRejected","class":"MicrosoftAzure\\Storage\\Common\\Internal\\ServiceRestProxy","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/Promise.php","line":204,"function":"MicrosoftAzure\\Storage\\Common\\Internal\\{closure}","class":"MicrosoftAzure\\Storage\\Common\\Internal\\ServiceRestProxy","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/Promise.php","line":169,"function":"callHandler","class":"GuzzleHttp\\Promise\\Promise","type":"::"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/RejectedPromise.php","line":42,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/TaskQueue.php","line":48,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\RejectedPromise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":159,"function":"run","class":"GuzzleHttp\\Promise\\TaskQueue","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":184,"function":"tick","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/Promise.php","line":248,"function":"execute","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/Promise.php","line":224,"function":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/Promise.php","line":62,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/microsoft/azure-storage-blob/src/Blob/BlobRestProxy.php","line":1810,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/lib/private/Files/ObjectStore/Azure.php","line":108,"function":"createBlockBlob","class":"MicrosoftAzure\\Storage\\Blob\\BlobRestProxy","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/lib/private/Files/ObjectStore/ObjectStoreStorage.php","line":507,"function":"writeObject","class":"OC\\Files\\ObjectStore\\Azure","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/lib/private/Files/Storage/Wrapper/Wrapper.php","line":644,"function":"writeStream","class":"OC\\Files\\ObjectStore\\ObjectStoreStorage","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/lib/private/Files/Storage/Wrapper/Wrapper.php","line":644,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/lib/private/Files/Storage/Wrapper/Wrapper.php","line":644,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/apps/dav/lib/Connector/Sabre/File.php","line":248,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/apps/dav/lib/Connector/Sabre/Directory.php","line":151,"function":"put","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/dav/lib/DAV/Server.php","line":1098,"function":"createFile","class":"OCA\\DAV\\Connector\\Sabre\\Directory","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":504,"function":"createFile","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPut","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/apps/dav/appinfo/v1/webdav.php","line":85,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/remote.php","line":171,"args":["/home/louis/workspace/nextcloud/instances/server2/apps/dav/appinfo/v1/webdav.php"],"function":"require_once"}],"File":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/microsoft/azure-storage-common/src/Common/Internal/ServiceRestProxy.php","Line":509,"message":"Could not create object urn:oid:64 for files/IMG_20220723_175849645.jpg","CustomMessage":"Could not create object urn:oid:64 for files/IMG_20220723_175849645.jpg"}} {"reqId":"pUHmlLIuhSRKQKKpqDFQ","level":3,"time":"2023-02-15T10:36:23+00:00","remoteAddr":"127.0.0.1","user":"admin","app":"no app in context","method":"PUT","url":"/remote.php/webdav/IMG_20220723_175849645.jpg","message":"Fail:\nCode: 411\nValue: Content-Length HTTP header is missing.\ndetails (if any): \ufeff<?xml version=\"1.0\" encoding=\"utf-8\"?><Error><Code>MissingContentLengthHeader</Code><Message>Content-Length HTTP header is missing.\nRequestId:b5f3f6d1-b01e-002f-7229-41e9a9000000\nTime:2023-02-15T10:36:23.6114207Z</Message><HeaderName>Content-Length</HeaderName></Error>.","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/109.0","version":"26.0.0.5","exception":{"Exception":"MicrosoftAzure\\Storage\\Common\\Exceptions\\ServiceException","Message":"Fail:\nCode: 411\nValue: Content-Length HTTP header is missing.\ndetails (if any): \ufeff<?xml version=\"1.0\" encoding=\"utf-8\"?><Error><Code>MissingContentLengthHeader</Code><Message>Content-Length HTTP header is missing.\nRequestId:b5f3f6d1-b01e-002f-7229-41e9a9000000\nTime:2023-02-15T10:36:23.6114207Z</Message><HeaderName>Content-Length</HeaderName></Error>.","Code":411,"Trace":[{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/microsoft/azure-storage-common/src/Common/Internal/ServiceRestProxy.php","line":427,"function":"throwIfError","class":"MicrosoftAzure\\Storage\\Common\\Internal\\ServiceRestProxy","type":"::"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/microsoft/azure-storage-common/src/Common/Internal/ServiceRestProxy.php","line":405,"function":"onRejected","class":"MicrosoftAzure\\Storage\\Common\\Internal\\ServiceRestProxy","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/Promise.php","line":204,"function":"MicrosoftAzure\\Storage\\Common\\Internal\\{closure}","class":"MicrosoftAzure\\Storage\\Common\\Internal\\ServiceRestProxy","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/Promise.php","line":169,"function":"callHandler","class":"GuzzleHttp\\Promise\\Promise","type":"::"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/RejectedPromise.php","line":42,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/TaskQueue.php","line":48,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\RejectedPromise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":159,"function":"run","class":"GuzzleHttp\\Promise\\TaskQueue","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":184,"function":"tick","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/Promise.php","line":248,"function":"execute","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/Promise.php","line":224,"function":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/Promise.php","line":62,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/microsoft/azure-storage-blob/src/Blob/BlobRestProxy.php","line":1810,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/lib/private/Files/ObjectStore/Azure.php","line":108,"function":"createBlockBlob","class":"MicrosoftAzure\\Storage\\Blob\\BlobRestProxy","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/lib/private/Files/ObjectStore/ObjectStoreStorage.php","line":507,"function":"writeObject","class":"OC\\Files\\ObjectStore\\Azure","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/lib/private/Files/Storage/Wrapper/Wrapper.php","line":644,"function":"writeStream","class":"OC\\Files\\ObjectStore\\ObjectStoreStorage","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/lib/private/Files/Storage/Wrapper/Wrapper.php","line":644,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/lib/private/Files/Storage/Wrapper/Wrapper.php","line":644,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/apps/dav/lib/Connector/Sabre/File.php","line":248,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/apps/dav/lib/Connector/Sabre/Directory.php","line":151,"function":"put","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/dav/lib/DAV/Server.php","line":1098,"function":"createFile","class":"OCA\\DAV\\Connector\\Sabre\\Directory","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":504,"function":"createFile","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPut","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/apps/dav/appinfo/v1/webdav.php","line":85,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/remote.php","line":171,"args":["/home/louis/workspace/nextcloud/instances/server2/apps/dav/appinfo/v1/webdav.php"],"function":"require_once"}],"File":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/microsoft/azure-storage-common/src/Common/Internal/ServiceRestProxy.php","Line":509,"message":"Fail:\nCode: 411\nValue: Content-Length HTTP header is missing.\ndetails (if any): \ufeff<?xml version=\"1.0\" encoding=\"utf-8\"?><Error><Code>MissingContentLengthHeader</Code><Message>Content-Length HTTP header is missing.\nRequestId:b5f3f6d1-b01e-002f-7229-41e9a9000000\nTime:2023-02-15T10:36:23.6114207Z</Message><HeaderName>Content-Length</HeaderName></Error>.","exception":{},"CustomMessage":"Fail:\nCode: 411\nValue: Content-Length HTTP header is missing.\ndetails (if any): \ufeff<?xml version=\"1.0\" encoding=\"utf-8\"?><Error><Code>MissingContentLengthHeader</Code><Message>Content-Length HTTP header is missing.\nRequestId:b5f3f6d1-b01e-002f-7229-41e9a9000000\nTime:2023-02-15T10:36:23.6114207Z</Message><HeaderName>Content-Length</HeaderName></Error>."}} {"reqId":"pUHmlLIuhSRKQKKpqDFQ","level":3,"time":"2023-02-15T10:36:23+00:00","remoteAddr":"127.0.0.1","user":"admin","app":"webdav","method":"PUT","url":"/remote.php/webdav/IMG_20220723_175849645.jpg","message":"Fail:\nCode: 411\nValue: Content-Length HTTP header is missing.\ndetails (if any): \ufeff<?xml version=\"1.0\" encoding=\"utf-8\"?><Error><Code>MissingContentLengthHeader</Code><Message>Content-Length HTTP header is missing.\nRequestId:b5f3f6d1-b01e-002f-7229-41e9a9000000\nTime:2023-02-15T10:36:23.6114207Z</Message><HeaderName>Content-Length</HeaderName></Error>.","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/109.0","version":"26.0.0.5","exception":{"Exception":"Sabre\\DAV\\Exception","Message":"Fail:\nCode: 411\nValue: Content-Length HTTP header is missing.\ndetails (if any): \ufeff<?xml version=\"1.0\" encoding=\"utf-8\"?><Error><Code>MissingContentLengthHeader</Code><Message>Content-Length HTTP header is missing.\nRequestId:b5f3f6d1-b01e-002f-7229-41e9a9000000\nTime:2023-02-15T10:36:23.6114207Z</Message><HeaderName>Content-Length</HeaderName></Error>.","Code":0,"Trace":[{"file":"/home/louis/workspace/nextcloud/instances/server2/apps/dav/lib/Connector/Sabre/File.php","line":318,"function":"convertToSabreException","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/apps/dav/lib/Connector/Sabre/Directory.php","line":151,"function":"put","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/dav/lib/DAV/Server.php","line":1098,"function":"createFile","class":"OCA\\DAV\\Connector\\Sabre\\Directory","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":504,"function":"createFile","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPut","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/apps/dav/appinfo/v1/webdav.php","line":85,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/remote.php","line":171,"args":["/home/louis/workspace/nextcloud/instances/server2/apps/dav/appinfo/v1/webdav.php"],"function":"require_once"}],"File":"/home/louis/workspace/nextcloud/instances/server2/apps/dav/lib/Connector/Sabre/File.php","Line":753,"Previous":{"Exception":"MicrosoftAzure\\Storage\\Common\\Exceptions\\ServiceException","Message":"Fail:\nCode: 411\nValue: Content-Length HTTP header is missing.\ndetails (if any): \ufeff<?xml version=\"1.0\" encoding=\"utf-8\"?><Error><Code>MissingContentLengthHeader</Code><Message>Content-Length HTTP header is missing.\nRequestId:b5f3f6d1-b01e-002f-7229-41e9a9000000\nTime:2023-02-15T10:36:23.6114207Z</Message><HeaderName>Content-Length</HeaderName></Error>.","Code":411,"Trace":[{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/microsoft/azure-storage-common/src/Common/Internal/ServiceRestProxy.php","line":427,"function":"throwIfError","class":"MicrosoftAzure\\Storage\\Common\\Internal\\ServiceRestProxy","type":"::"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/microsoft/azure-storage-common/src/Common/Internal/ServiceRestProxy.php","line":405,"function":"onRejected","class":"MicrosoftAzure\\Storage\\Common\\Internal\\ServiceRestProxy","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/Promise.php","line":204,"function":"MicrosoftAzure\\Storage\\Common\\Internal\\{closure}","class":"MicrosoftAzure\\Storage\\Common\\Internal\\ServiceRestProxy","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/Promise.php","line":169,"function":"callHandler","class":"GuzzleHttp\\Promise\\Promise","type":"::"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/RejectedPromise.php","line":42,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/TaskQueue.php","line":48,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\RejectedPromise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":159,"function":"run","class":"GuzzleHttp\\Promise\\TaskQueue","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":184,"function":"tick","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/Promise.php","line":248,"function":"execute","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/Promise.php","line":224,"function":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/guzzlehttp/promises/src/Promise.php","line":62,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/microsoft/azure-storage-blob/src/Blob/BlobRestProxy.php","line":1810,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/lib/private/Files/ObjectStore/Azure.php","line":108,"function":"createBlockBlob","class":"MicrosoftAzure\\Storage\\Blob\\BlobRestProxy","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/lib/private/Files/ObjectStore/ObjectStoreStorage.php","line":507,"function":"writeObject","class":"OC\\Files\\ObjectStore\\Azure","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/lib/private/Files/Storage/Wrapper/Wrapper.php","line":644,"function":"writeStream","class":"OC\\Files\\ObjectStore\\ObjectStoreStorage","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/lib/private/Files/Storage/Wrapper/Wrapper.php","line":644,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/lib/private/Files/Storage/Wrapper/Wrapper.php","line":644,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/apps/dav/lib/Connector/Sabre/File.php","line":248,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/apps/dav/lib/Connector/Sabre/Directory.php","line":151,"function":"put","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/dav/lib/DAV/Server.php","line":1098,"function":"createFile","class":"OCA\\DAV\\Connector\\Sabre\\Directory","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":504,"function":"createFile","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPut","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/apps/dav/appinfo/v1/webdav.php","line":85,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/home/louis/workspace/nextcloud/instances/server2/remote.php","line":171,"args":["/home/louis/workspace/nextcloud/instances/server2/apps/dav/appinfo/v1/webdav.php"],"function":"require_once"}],"File":"/home/louis/workspace/nextcloud/instances/server2/3rdparty/microsoft/azure-storage-common/src/Common/Internal/ServiceRestProxy.php","Line":509},"message":"Fail:\nCode: 411\nValue: Content-Length HTTP header is missing.\ndetails (if any): \ufeff<?xml version=\"1.0\" encoding=\"utf-8\"?><Error><Code>MissingContentLengthHeader</Code><Message>Content-Length HTTP header is missing.\nRequestId:b5f3f6d1-b01e-002f-7229-41e9a9000000\nTime:2023-02-15T10:36:23.6114207Z</Message><HeaderName>Content-Length</HeaderName></Error>.","exception":{},"CustomMessage":"Fail:\nCode: 411\nValue: Content-Length HTTP header is missing.\ndetails (if any): \ufeff<?xml version=\"1.0\" encoding=\"utf-8\"?><Error><Code>MissingContentLengthHeader</Code><Message>Content-Length HTTP header is missing.\nRequestId:b5f3f6d1-b01e-002f-7229-41e9a9000000\nTime:2023-02-15T10:36:23.6114207Z</Message><HeaderName>Content-Length</HeaderName></Error>."}}
Which nc version?
25 and 26
Duplicate of https://github.com/nextcloud/server/issues/14391
⚠️ This issue respects the following points: ⚠️
Bug description
When using Azure blob storage, I am prompted with an error 'Content-Length HTTP header is missing' when I try to upload a file.
Steps to reproduce
Expected behavior
Uploading files with Azure blob storage should work.
Installation method
None
Operating system
RHEL/CentOS
PHP engine version
PHP 8.0
Web server
Nginx
Database engine version
PostgreSQL
Is this bug present after an update or on a fresh install?
Fresh Nextcloud Server install
Are you using the Nextcloud Server Encryption module?
None
What user-backends are you using?
Configuration report
No response
List of activated Apps
Nextcloud Signing status
No response
Nextcloud Logs
Additional info
No response