Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

preload + integrity hash + cloudflare #220

Open
oleg-andreyev opened this issue Jun 27, 2023 · 2 comments
Open

preload + integrity hash + cloudflare #220

oleg-andreyev opened this issue Jun 27, 2023 · 2 comments

Comments

@oleg-andreyev
Copy link

This is not something that webpack or encore related, but probably worth mention in docs that if you are using any kind of CDN that does encoding (gzip, br and etc) integrity hash will change and browser will throw a warning

A preload for '...' is found, but is not used due to an integrity mismatch.
@stof
Copy link
Member

stof commented Jun 29, 2023

Integrity hashes for subresource integrity are computed based on the uncompressed assets by browsers, so the content encoding won't be an issue (requiring the integrity hash to match the compressed output would have killed any on-demand compression, which is how most compression is deployed).

My guess is that the issue is actually caused by the usage of a Cloudflare feature modifying the content of the asset dynamically, like their Auto Minify feature.

@ToshY
Copy link

ToshY commented Nov 10, 2023

@stof As someone who had issues with integrity hashes before (see symfony/webpack-encore#1164), I now get the exact same messages in my chrome console as @oleg-andreyev . Having disabled the "Auto Minify" feature for JS/CSS, disabled Rocket Loader, and everything else remotely related to asset manipulation, I'm almost certain this cannot be so easily blamed on Cloudflare now.

I've performed curl https://example.com/build/asset.css 2>/dev/null | openssl dgst -sha384 -binary | openssl base64 -A and cat ./build/asset.css 2>/dev/null| openssl dgst -sha384 -binary | openssl base64 -A, both returning the same hash as displayed by integrity attribute in the link tags.

I've done a quick search, and maybe w3c/preload#127 is somewhat related to this problem?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants