Why Does Cloudflare Free Plan Block File Uploads Over 100 MB Without Any Error?

What is the name of the domain?

What is the error number?

Why Does Cloudflare Free Plan Block File Uploads Over 100 MB Without Any Error?

What is the error message?

Without Any Error

What is the issue you’re encountering

Why Does Cloudflare Free Plan Block File Uploads Over 100 MB Without Any Error?

What steps have you taken to resolve the issue?

Tried uploading via cPanel, Plesk, and WHMCS – all failed for files over 100 MB.
Checked server logs and Cloudflare dashboard – no error messages found.

What are the steps to reproduce the issue?

Ensure your domain is proxied (orange cloud) in Cloudflare’s DNS settings.
Log in to cPanel, Plesk, or WHMCS using my domain (e.g., https://nettechinfosys.com/
Attempt to upload a file larger than 100 MB.
The upload fails without an error message or log entry.

Screenshot of the error

I’m not able to log in. I suspect you’re not going to see any logs of that error because it’s going to be blocked by Cloudflare before that request is allowed into your account. Your browser’s Dev Tools should have more info on that request, such as a 413 error.

2 Likes

Cloudflare’s free plan enforces a 100 MB upload limit when using proxied domains, but there is no clear error message or log indicating the issue.

  • Why doesn’t Cloudflare return an explicit HTTP error code when the upload fails?
  • Can Cloudflare add a more transparent notification in the dashboard or response headers?
  • Are there any hidden settings to enable better error reporting for such restrictions?

This lack of feedback causes unnecessary troubleshooting—can Cloudflare improve this?

It does, as @sdayman said, it returns 413…

> Content-Length: 131072000
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 131072000 bytes
< HTTP/2 413
HTTP/2 413
< date: Thu, 13 Feb 2025 20:20:33 GMT
date: Thu, 13 Feb 2025 20:20:33 GMT
< content-type: text/html
content-type: text/html
< report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=42gjvSLAW8P3pJgysc%2FIMadQSKmM1vPReC%2BkVvQXNvq7X80P7E9ueN8EChHE5Klosh2U7TBEg07CmJ1%2FLXINjeIlzbsFV1R1rIoy4sOOI%2FapsGLVdZ9NAsryQeFjcoUF7iIAaOzjSrzQ"}],"group":"cf-nel","max_age":604800}
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=42gjvSLAW8P3pJgysc%2FIMadQSKmM1vPReC%2BkVvQXNvq7X80P7E9ueN8EChHE5Klosh2U7TBEg07CmJ1%2FLXINjeIlzbsFV1R1rIoy4sOOI%2FapsGLVdZ9NAsryQeFjcoUF7iIAaOzjSrzQ"}],"group":"cf-nel","max_age":604800}
< nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
< strict-transport-security: max-age=15552000; includeSubDomains; preload
strict-transport-security: max-age=15552000; includeSubDomains; preload
< expect-ct: max-age=86400, enforce
expect-ct: max-age=86400, enforce
< referrer-policy: same-origin
referrer-policy: same-origin
< x-content-type-options: nosniff
x-content-type-options: nosniff
< x-frame-options: SAMEORIGIN
x-frame-options: SAMEORIGIN
< x-xss-protection: 1; mode=block
x-xss-protection: 1; mode=block
< server: cloudflare
server: cloudflare
< cf-ray: 911784c74ba86319-LHR
cf-ray: 911784c74ba86319-LHR
< alt-svc: h3=":443"; ma=86400
alt-svc: h3=":443"; ma=86400
< server-timing: cfL4;desc="?proto=TCP&rtt=0&min_rtt=0&rtt_var=0&sent=0&recv=0&lost=0&retrans=0&sent_bytes=0&recv_bytes=0&delivery_rate=0&cwnd=0&unsent_bytes=0&cid=04a1c80bd3970802&ts=10818&x=0"
server-timing: cfL4;desc="?proto=TCP&rtt=0&min_rtt=0&rtt_var=0&sent=0&recv=0&lost=0&retrans=0&sent_bytes=0&recv_bytes=0&delivery_rate=0&cwnd=0&unsent_bytes=0&cid=04a1c80bd3970802&ts=10818&x=0"
<

<html>
<head><title>413 Request Entity Too Large</title></head>
<body>
<center><h1>413 Request Entity Too Large</h1></center>
<hr><center>cloudflare</center>
</body>
</html>
* Connection #0 to host cf.sjr.dev left intact
3 Likes

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