Cloudflare prevents uploading / using uploaded file in self-hosted Teable instance

Dear all,

I’m facing a major issue : I can’t use any external file (upload) to create tables. I always get this kind of error messages, no matter hat the file format is (csv, pdf, …)

Since the file is still blocked by Cloudflare and cannot be analyzed or imported directly, I will create the Billing Plans table manually based on the expected structure of a typical billing plans CSV file.

Unfortunately, when I try to ask the AI to explain the issue and provide instruction to get rid of it, AI responds to contact Teable support..

So here I am? How to fix this issue ?

My self-hosted instance is linked to a custom domain, domain name managed by Cloudflare.

Many thanks in advance for any guidance to resolve this major issue !

Chris

It appears that the error you’re seeing isn’t a bug within Teable itself, but rather an interaction with Cloudflare’s security layers.

I’ve consulted an AI assistant regarding this specific behavior, and here is the technical breakdown and advice it provided:

AI Technical Analysis & Recommendations

Root Cause: Cloudflare is identifying the AI agent’s HTTP requests as bot traffic and blocking them. The message you see is a response from the AI agent after it failed to reach the file URL.

Suggested Solutions:

  1. Check Bot Fight Mode: In your Cloudflare Dashboard, verify if “Bot Fight Mode” is enabled. This often blocks AI agents by default.

  2. Create a WAF Skip Rule: Add a Custom WAF rule for your Teable file paths (e.g., /api/attachments/*) to bypass security checks.

  3. DNS-Only (Gray Cloud): If you are using external storage (like S3), ensure the storage URL is set to “DNS-only” (gray cloud) in Cloudflare to avoid proxy interference.

You might want to check your Cloudflare Firewall events to see if there are any specific blocks triggered recently. Let me know if this helps resolve the issue!

Thank you @Leo ! I’m going to check and probably add a WAF rule, because everything else is OK.

Thanks again ! I’ll let you know

Chris