IMGPROXY_FALLBACK_IMAGE is not returned on error 500
If remote url return html code, imgproxy return error 500 with text Internal error, but not fallback image
ERROR [2024-10-11T06:52:33Z] Completed in 828.215882ms /url/cdSg_FJdwMgBHr-ibNoxnPjL5X7NS4lDgJlj1yw4hE8/rs:fit:1200:900/g:sm/aHR0cDovL3N2ZXRl/cnJhLnJ1L3VwbG9h/ZC9pYmxvY2svODRm/Lzg0ZjU0MjcwYzM1/ZDlkZWY4MTQyYjE3/NjE0NzY0ZWI5Lmpw/Zw request_id=uA-Za_kRw09ic92B9ddI3 method=GET status=500 client_ip=87.250.224.44 error="XML parse error: unexpected NULL character on line 1 and column 5\n 1: ����··JFIF·····`·`··��·<CREATOR: gd-jpeg v1.0 (using IJG ...\n ^"
/app/processing_handler.go:194 main.sendErrAndPanic
/app/processing_handler.go:193 main.sendErrAndPanic
/app/processing_handler.go:198 main.checkErr
/app/server.go:114 main.buildRouter.withCORS.func1
/app/server.go:165 main.buildRouter.withPanicHandler.func2
/app/server.go:103 main.buildRouter.withMetrics.func3
/app/router/router.go:102 github.com/imgproxy/imgproxy/v3/router.(*Router).ServeHTTP
/usr/local/go/src/net/http/server.go:2939 net/http.serverHandler.ServeHTTP
/usr/local/go/src/net/http/server.go:2010 net/http.(*conn).serve
/usr/local/go/src/runtime/asm_amd64.s:1651 runtime.goexit
WARNING [2024-10-11T06:52:35Z] Could not load image https://www.***.**//upload/iblock/f94/f94d545ba4954c6f253d7848a5df0d0d.jpg. Using fallback image. Can't download source image: Status: 404; <!DOCTYPE html>
<html dir="ltr" lang="ru">
<head>
<meta charset="UTF-8" />
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<link rel="apple-touch-icon" sizes="180x180" href="/favicon.png" />
...
Hey @MikeVL!
It looks like there's a problem with your fallback image. Can I take a look at it?
Hey @DarthSim !
I use base64 encoded image in helmchart values
fallbackImage:
data: "PHN2ZyBoZWlnaHQ9IjcwIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjcwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIGZpbGw9IiM4ZThlOGUiPjxwYXRoIGQ9Im0yNzUuMjc3MzQ0IDI5Ni40ODgyODEtNTkuNzY1NjI1LTU5Ljc2NTYyNWMtMTguMjQ2MDk0IDM4LjEyODkwNiAyMS41NjI1IDc4LjA0Njg3NSA1OS43NjU2MjUgNTkuNzY1NjI1em0wIDAiLz48cGF0aCBkPSJtMTY3LjY0NDUzMSAxNDYuNDMzNTk0IDE3LjMyNDIxOS01NS40MzM1OTRoMTQyLjA2MjVsMTguNzUgNjBoNzUuMjE4NzV2MjQwaC04Ljc4OTA2MmwzNS4xODc1IDM0LjE4NzVjNDEuNjA5Mzc0LTQ2LjcxNDg0NCA2NC42MDE1NjItMTA2LjExMzI4MSA2NC42MDE1NjItMTY5LjE4NzUgMC0xNDAuOTE0MDYyLTExNS4wNDY4NzUtMjU2LTI1Ni0yNTYtNjMuMDc0MjE5IDAtMTIyLjQ3MjY1NiAyMy45OTIxODgtMTY5LjE4NzUgNjUuNjAxNTYyem0wIDAiLz48cGF0aCBkPSJtMTU5Ljc4OTA2MiAxODFoLTM4Ljc4OTA2MnYxODBoMjE4Ljc4OTA2MmwtNDIuNDk2MDkzLTQyLjQ5NjA5NGMtMTEuODU1NDY5IDcuODYzMjgyLTI2LjAzMTI1IDEyLjQ5NjA5NC00MS4yOTI5NjkgMTIuNDk2MDk0LTQxLjM1MTU2MiAwLTc1LTMzLjY0ODQzOC03NS03NSAwLTE1LjI2MTcxOSA0LjYzMjgxMi0yOS40Mzc1IDEyLjQ5NjA5NC00MS4yOTI5Njl6bTAgMCIvPjxwYXRoIGQ9Im0zNjkuNzg5MDYyIDM5MWgtMjc4Ljc4OTA2MnYtMjQwaDM4Ljc4OTA2MmwtNjQuMTg3NS02NC4xODc1Yy00MS42MDkzNzQgNDYuNzE0ODQ0LTY1LjYwMTU2MiAxMDYuMTEzMjgxLTY1LjYwMTU2MiAxNjkuMTg3NSAwIDE0MC45MTQwNjIgMTE1LjA0Njg3NSAyNTYgMjU2IDI1NiA2My4wNzQyMTkgMCAxMjIuNDcyNjU2LTIzLjk5MjE4OCAxNjkuMTg3NS02NS42MDE1NjJ6bTAgMCIvPjxwYXRoIGQ9Im0zOTEgMzYxdi0xODBoLTY3LjI4MTI1bC0xOC43NS02MGgtOTcuOTM3NWwtMTUuNDMzNTk0IDQ5LjM4NjcxOSAyMy4xMDkzNzUgMjMuMTA5Mzc1YzExLjg1NTQ2OS03Ljg2MzI4MiAyNi4wMzEyNS0xMi40OTYwOTQgNDEuMjkyOTY5LTEyLjQ5NjA5NCA0MS4zNTE1NjIgMCA3NSAzMy42NDg0MzggNzUgNzUgMCAxNS4yNjE3MTktNC42MzI4MTIgMjkuNDM3NS0xMi40OTYwOTQgNDEuMjkyOTY5bDYzLjcwNzAzMiA2My43MDcwMzF6bTAgMCIvPjxwYXRoIGQ9Im0yMzYuNzIyNjU2IDIxNS41MTE3MTkgNTkuNzY1NjI1IDU5Ljc2NTYyNWMxOC4yNDYwOTQtMzguMTI4OTA2LTIxLjU2MjUtNzguMDQ2ODc1LTU5Ljc2NTYyNS01OS43NjU2MjV6bTAgMCIvPjwvZz48L3N2Zz4="
ttl: "3600"
If remove url returns 404, its works well.
Hmm, it seems that everything is ok with it. Which version of imgproxy do you use?
v3.20.0
Log messages
WARNING [2024-10-11T18:58:04Z] Could not load image http://sveterra.ru/upload/iblock/8b0/8b03a2d12c9e188ad1eac217afcb0869.jpg. Using fallback image. Can't download source image: Status: 404; <!DOCTYPE html>
ERROR [2024-10-11T18:58:04Z] Completed in 890.721621ms /url/OEu6ZzrENUa-F1Q0n4GWH6DIu7Tqk_aP4d41HD20yRs/rs:fit:1200:900/g:sm/aHR0cDovL3N2ZXRl/cnJhLnJ1L3VwbG9h/ZC9pYmxvY2svOGIw/LzhiMDNhMmQxMmM5/ZTE4OGFkMWVhYzIx/N2FmY2IwODY5Lmpw/Zw request_id=f3_r6sjRf-TGE1v6RKW4i method=GET status=500 client_ip=95.108.213.123 error="XML parse error: unexpected NULL character on line 1 and column 5\n 1: ����··Exif··II*·············��··Ducky·······2··��··Adobe·...\n ^"
WARNING [2024-10-11T18:58:05Z] Could not load image https://cabsystems.ru/upload/iblock/af6/af642eb62e9e5520cb3a42dd520d8477.jpg. Using fallback image. Can't download source image: Status: 404; <!DOCTYPE html>
ERROR [2024-10-11T18:58:05Z] Completed in 727.716093ms /url/H98TrpWK3Hn1or_YyAr9LXPeK6Kk4agmLbceGUH-X64/rs:fit:1200:900/g:sm/aHR0cHM6Ly9jYWJz/eXN0ZW1zLnJ1L3Vw/bG9hZC9pYmxvY2sv/YWY2L2FmNjQyZWI2/MmU5ZTU1MjBjYjNh/NDJkZDUyMGQ4NDc3/LmpwZw request_id=Vgv65zbT37D7RI3xC_uR- method=GET status=500 client_ip=213.180.203.211 error="XML parse error: unexpected NULL character on line 1 and column 5\n 1: ����··Exif··II*·············��··Ducky·······2··��··Adobe·...\n ^"
WARNING [2024-10-11T18:58:08Z] Could not load image http://sveterra.ru/upload/iblock/033/03325f6e812c3fa290173b1fb0c28240.jpg. Using fallback image. Can't download source image: Status: 404; <!DOCTYPE html>
ERROR [2024-10-11T18:58:08Z] Completed in 1.895895868s /url/BeqAHT6u86P9l8nYggGZnxY8sN5gRHfQIDMB6MSPZq4/rs:fit:1200:900/g:sm/aHR0cDovL3N2ZXRl/cnJhLnJ1L3VwbG9h/ZC9pYmxvY2svMDMz/LzAzMzI1ZjZlODEy/YzNmYTI5MDE3M2Ix/ZmIwYzI4MjQwLmpw/Zw request_id=LIoqM-11ocaTKKwbvAcYl method=GET status=500 client_ip=5.255.231.169 error="XML parse error: unexpected NULL character on line 1 and column 5\n 1: ����··Exif··II*·············��··Ducky·······2··��··Adobe·...\n ^"
This is weird as hell. The XML parse error tells about some EXIF stuff, but the fallback image you set to fallbackImage.data is SVG, so it doesn't have EXIF. And if it wasn't SVG, then why would any XML parsing be involved? The saddest part is that I can't reproduce this with your provided data. Do you by any chance use a fork of imgproxy?
I use darthsim/imgproxy:v3.20.0 docker image
Can you try this image sourece?
https://www.meratest.ru/catalog_photos/item_142735/originals/142735_a2c8849dcef8a4f8e76d65a24458fa06.jpg
The same: the fallback image is used without an issue.
Did you try using a fallback image URL instead of base64 data? Maybe it's Helm or K8s messing up with long values, IDK.
I used the URL before, and then changed it to BASE64, and only now I understand that the broken pictures are possibly a cache in CloudFlar, now the pictures are starting to be updated on fallback.
There are errors in the logs, but the fallback picture is displayed normally.
I'll observe some more and write about the results.