Brotli broken for DLL files

Hi,

I am currently developing Blazor WebAssembly application. App loads DLL files over network.
My site has enabled Brotli compression however origin server serve not compressed files.

If I turn off CloudFlare then origin server serve compressed files.
Reenabling CloudFlare => uncompressed files.

If I turn off CloudFlare brotli compression then origin server serve gzip compressed files. That’s great. Even CloudFlare response header contains “content-encoding”. During brotli enabled option “content-encoding” is not served at all.

I tried to disable CloudFlare compression by serving header “cache-control” with value “no-transform”. However that’s not working at all.

Can you give me advice how to fix brotli or at least disable CloudFlare compression at all?

Thanks

Hello @glararan , that is actually fascinating and love to hear that you use our service for that.
That is quite interesting case,
Cloudflare edge will return gzip or brotli encoded responses to compatible clients / browsers for the following content-types (list on the link):

You wrote that you have already set the origin with: cache-control: no-transform
Could you share with us the output of the headers when you request directly the origin?
Make sure to never share public any origin IP

Even better can you share the URL of your app with us, IF not, then just open a ticket, and let me know here the number of the ticket.

1 Like

Hi,

yeah I am also finding this quite interesting :smiley:

URL of app: https://beta.izun.eu
I am using Chrome latest version using developer tools.

Response headers (origin):
image

Hope it helps :slight_smile:

Cant post more embedeed :confused:

Response headers (CloudFlare brotli disabled):

Response headers (CloudFlare brotli enabled, cache control disabled):

No worries, having the URL for me is enough.
A direct request from a Cloudflare DC, on the origin shows me no cache control:
*some info redacted for sec reasons

> GET / HTTP/1.1
> Host: beta.izun.eu
> Accept: */*
> Accept-Encoding: deflate, gzip
> User-Agent: XXXXXX
>
{ [5 bytes data]
* Connection state changed (MAX_CONCURRENT_STREAMS updated)!
} [5 bytes data]
< HTTP/2 200
< content-type: text/html; charset=utf-8
< content-encoding: gzip
< vary: Accept-Encoding
< server: XXXXXX
< strict-transport-security: max-age=XXXXX
< x-powered-by: XXX
< date: Thu, 22 Oct 2020 15:19:00 GMT
<
{ [4486 bytes data]
* Curl_http_done: called premature == 0
* Connection #0 to host XXXXXXX left intact

finished in 3.25s

Can you also point me to a directly DLL file URL? You can send me the URL in PM if you don’t want to expose info public?

Can you make sure there that headers are correctly set up on the origin before we take that to a ticket for a closer look? Or am I missing something?

Yeah I removed cache control to make origin issue.

DLL are loaded via javascript. However direct URL to DLL is: https://beta.izun.eu/_framework/_bin/mscorlib.dll

I can re-setup cache-control on origin if you need. Rest headers are fine. If I turn off CloudFlare proxy then brotli is served correctly.

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