<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[XBackBone package: uploads > 1 GiB rejected with 413]]></title><description><![CDATA[<h3>Summary:</h3>
<p dir="auto">On the XBackBone package, uploads larger than 1 GiB fail with HTTP 413. The package's Apache vhost (apache/xbackbone.conf) defines no <code>LimitRequestBody</code>, so Apache 2.4.58 applies its built-in 1 GiB default. Apache rejects the request before PHP is reached, so raising <code>post_max_size</code>/<code>upload_max_filesize</code> via /app/data/php.ini has no effect. The app's advertised limit (25 GB, derived from PHP) is therefore misleading.</p>
<h3>Environment:</h3>
<p dir="auto">App: <code>XBackBone (v3.8.2), base image cloudron/base:5.0.0</code><br />
<code>apache2 -v → Apache/2.4.58 (Ubuntu), built 2024-10-02</code><br />
Modules: <code>mpm_prefork_module, php_module (mod_php, PHP 8.3)</code><br />
Standard Cloudron reverse proxy; no external proxy in front</p>
<p dir="auto">Observed on my instance (Web Terminal):<br />
<code>LimitRequestBody</code> is unset anywhere in Apache config or app code:</p>
<pre><code>grep -rniE 'LimitRequestBody' /etc/apache2/ /app/code/  → no matches
</code></pre>
<p dir="auto">PHP is not the limiter:</p>
<pre><code>php -r '... ini_get ...'
post_max_size=25G
upload_max_filesize=25G
memory_limit=-1
</code></pre>
<p dir="auto">Calling the container's Apache directly (localhost:80, bypassing the Cloudron proxy), bracketing 1 GiB:</p>
<pre><code>curl -F upload=@900M   http://localhost:80/upload/web  → HTTP 302
curl -F upload=@1100M  http://localhost:80/upload/web  → HTTP 413

#response headers on the 1100M request:
HTTP/1.1 413 Request Entity Too Large
Server: Apache/2.4.58 (Ubuntu)
</code></pre>
<p dir="auto">This confirms the 413 originates from the app container's Apache (not the Cloudron proxy), and the threshold is the 1 GiB Apache default. In the browser, the same upload surfaces as <code>Server: nginx</code> because the platform proxy relabels the response header.</p>
<h3>Root cause:</h3>
<p dir="auto">Apache 2.4.54+ ships a default <code>LimitRequestBody</code> of 1 GiB (1073741824 bytes) instead of unlimited (CVE-2022-29404). Because apache/xbackbone.conf sets no explicit value, every upload is capped at 1 GiB regardless of PHP configuration or the app's stated maximum.</p>
<h3>Impact:</h3>
<p dir="auto">The effective upload ceiling (1 GiB) contradicts both the UI's advertised limit and the documented php.ini tuning path.</p>
<p dir="auto">The fix is not available to users: the vhost lives at /etc/apache2/sites-enabled/xbackbone.conf on the read-only container filesystem, <code>LimitRequestBody</code> cannot be expressed via php.ini or /app/data, and XBackBone's .htaccess sits in read-only /app/code. A package change is required.</p>
<h3>Proposed fix:</h3>
<p dir="auto">Add an explicit <code>LimitRequestBody</code> to apache/xbackbone.conf, deferring the ceiling to PHP's <code>post_max_size</code> (the value users are already directed to set):</p>
<pre><code># Apache 2.4.54+ defaults `LimitRequestBody` to 1 GiB (CVE-2022-29404).
# Defer the upload ceiling to PHP `post_max_size` (set via /app/data/php.ini).
LimitRequestBody 0
</code></pre>
<p dir="auto">Alternatively, derive <code>LimitRequestBody</code> from the effective <code>post_max_size</code> in <code>start.sh</code> so the two stay in sync. The docs at <a href="http://docs.cloudron.io/apps/xbackbone" target="_blank" rel="noopener noreferrer nofollow ugc">docs.cloudron.io/apps/xbackbone</a> should also be updated, as they currently present php.ini as the sole upload-size control.</p>
<h3>Verification for the fix:</h3>
<p dir="auto">After patching, upload a file &gt; 1 GiB (e.g. dd if=/dev/zero of=test bs=1M count=1200). Currently returns 413; should succeed.</p>
<h3>Reference:</h3>
<p dir="auto">Package file to patch: <a href="https://git.cloudron.io/packages/xbackbone-app/-/blob/master/apache/xbackbone.conf" target="_blank" rel="noopener noreferrer nofollow ugc">https://git.cloudron.io/packages/xbackbone-app/-/blob/master/apache/xbackbone.conf</a><br />
Apache LimitRequestBody: <a href="https://httpd.apache.org/docs/2.4/mod/core.html#limitrequestbody" target="_blank" rel="noopener noreferrer nofollow ugc">https://httpd.apache.org/docs/2.4/mod/core.html#limitrequestbody</a></p>
<hr />
<h3>PS: Troubleshooting conducted &amp; this summary prepared in collaboration with Claude</h3>
]]></description><link>https://forum.cloudron.io/topic/15713/xbackbone-package-uploads-1-gib-rejected-with-413</link><generator>RSS for Node</generator><lastBuildDate>Sat, 01 Aug 2026 11:37:47 GMT</lastBuildDate><atom:link href="https://forum.cloudron.io/topic/15713.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 16 Jul 2026 12:31:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to XBackBone package: uploads > 1 GiB rejected with 413 on Thu, 16 Jul 2026 15:44:09 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/james" aria-label="Profile: james">@<bdi>james</bdi></a> Just installed the updated package and tried it out.<br />
Seems to be working without issues, so far.<br />
Thanks!</p>
]]></description><link>https://forum.cloudron.io/post/126848</link><guid isPermaLink="true">https://forum.cloudron.io/post/126848</guid><dc:creator><![CDATA[shrey]]></dc:creator><pubDate>Thu, 16 Jul 2026 15:44:09 GMT</pubDate></item><item><title><![CDATA[Reply to XBackBone package: uploads > 1 GiB rejected with 413 on Thu, 16 Jul 2026 15:23:44 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/user/shrey" aria-label="Profile: shrey">@<bdi>shrey</bdi></a><br />
Thanks for reporting.<br />
An app update will be available soon.</p>
]]></description><link>https://forum.cloudron.io/post/126840</link><guid isPermaLink="true">https://forum.cloudron.io/post/126840</guid><dc:creator><![CDATA[james]]></dc:creator><pubDate>Thu, 16 Jul 2026 15:23:44 GMT</pubDate></item></channel></rss>