What is the name of the domain?
Not important (will disclose if necessary)
What is the error number?
400 Bad Request
What is the error message?
time=“2025-04-25T14:33:49.087428720Z” level=error msg=“Upload failed: digest invalid: provided digest did not match uploaded content”
What is the issue you’re encountering
My harbor registry, which get exposed through cloudflare tunnel, used to work perfectly fine. I could push and pull images with no errors at all. Nothing has changed by my end of infrastructure but recently all my pushes are failing cause the digest is not matching what expected.
What steps have you taken to resolve the issue?
Im quite sure the error is in the cloudflare end, cause the hashing that the registry calculates on the received blob (and that is causing the 400 Bad Request face error) is “e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855” which for sha256 should be the hashing of an empty string.
By inspecting tunnel connector logs, I do have a double confirmation that the PUTs api calls that gets delivered while trying to push the image, have “content-length”: 0 (which makes sense with the digest above).
Everything makes me believe that cloudflare is messing with my requests cutting out the payload.
For instance the image to push is 40-50 MB (under the 100MB limit of the free plan). Still, shall be considered, I was able to push larger images.
Thinking that I might be outdated with the cloudflared connector I updated it to the last available (2025.4.0) .
Any insights?