I'm hoping someone can point me in the right direction.
I have a fqdn and have a tunnel setup via cloudflare which goes to an nginx proxy manager which then goes to appwrite docker.
Cloudflare has WAP and ddos etc, which I think is partly my problem, but not the whole problem.
The issue i'm having is that majority of api calls are rejected when there's thousands of promises. if I bypass cloudflare and go direct to nginx proxy manager the majority will be resolved, and then if I bypass both cloudflare andproxy manager all will resolve.
Here's the error message when it fails.
status: 'rejected', reason: AppwriteException [Error]: fetch failed
Here's the split between resolved vs rejected promises depending on the route to make it a bit easier to see what I'm talking about
Route via cloudflare to nginx proxy to appwrite { okPromises: 443 } { rejectedPromises: 6277 }
Bypass cloudflare and go direct to nginx (within the lan) to appwrite { okPromises: 3944 } { rejectedPromises: 2776 }
Bypass cloudflare and nginx proxy manager and go direct to appwrite { okPromises: 6720 } { rejectedPromises: 0 }
Here's an example of the code
nodejs
let okPromises = 0;
let rejectedPromises = 0;
const res = await Promise.allSettled(checkIfExistPromises)
.then(results =>
results.forEach(result => {
if (result.status === "fulfilled") {
okPromises++;
}
if (result.status === "rejected") {
rejectedPromises++;
}
})
)
.catch(err => console.log(err.message));
Any ideas'? Thanks
Some API request failing through cloudflare and nginx proxy manager
Recommended threads
- How to Avoid Double Requests in function...
I'm currently using Appwrite's `functions.createExecution` in my project. I want to avoid double requests when multiple actions (like searching or pagination) a...
- Send Email Verification With REST
I am using REST to create a user on the server side after receiving form data from the client. After the account is successfully created i wanted to send the v...
- Use different email hosts for different ...
Hello, I have 2 projects and i want to be able to set up email templates in the projects. Both projects will have different email host configurations. I see ...