Inconsistant worker output by cloudflare for saas?

Hi Cloudflare Team,

I’ve build my current setup with following steps:
1, I created a r2 bucket with a worker js.

2, I asked my client to have a dns cname record aa.123.com pointing to my fallback (fallback.456.com) using cloudflare for saas.

3, in my worker js, I would return an object from my r2 binding the the request coming from specific domain and with keyword “demo” in the pathname, or it will simply redirect to another domain
www.ddd.com

However, it will always have different output behavior even I simply repeatedly access my url using same curl command under the same network.

my curl cmd:

curl -v aa.123.com/demo.mp4 -o 123.mp4

expected correct output

< HTTP/2 200
< date: Thu, 06 Jul 2023 10:33:28 GMT
< content-type: video/mp4
< content-length: 3012235
< access-control-allow-origin: *
< etag: "23b36859c35022aaba5ec0c5d7c9a7f9"
< access-control-allow-methods: GET,HEAD,POST,OPTIONS
< report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=m5uKX7EKPueJdEcw5C171y82zMC6KaEBCwu6c8NrYxF%2B3MaqJlUhZdfoFfUUWdbfU3bK4a5rzfEVLH9uhs3XlQyBJJZ7JwdGJ6bXHO1uK7q2ClZjeHVkaoLK3k6fLLv4"}],"group":"cf-nel","max_age":604800}
< nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
< vary: Accept-Encoding
< cache-control: max-age=14400
< cf-cache-status: HIT
< age: 350
< accept-ranges: bytes
< server: cloudflare
< cf-ray: 7e27308f79f110a3-HKG
< alt-svc: h3=":443"; ma=86400

wrong output:

< HTTP/2 301
< date: Thu, 06 Jul 2023 10:33:58 GMT
< content-length: 0
< report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=j9ZAOkIQw5q2ZYg%2FMKrRPZ%2Fc39bYauBVwoV3BY21i%2FohLw4MsElfJOlGKBYBngqz3mKY3e7Nzl6ozPyjBIxNCvPANwVz3itDjm5wvh%2FhdqHvLDpPqfc%2BD9a%2BX5a3CcEw"}],"group":"cf-nel","max_age":604800}
< nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
< vary: Accept-Encoding
< cache-control: max-age=14400
< cf-cache-status: HIT
< age: 436
< server: cloudflare
< cf-ray: 7e27314b0d8f04c6-HKG
< alt-svc: h3=":443"; ma=86400

same curl cmd on same machine could have different output .

and I’ve tried re-deploy script and purge all my cache, but same worker script will always have different behavior, and this issue has already been submitted as a ticket for 4 days, anyone could help?