Nginx does not serve avif
Martin Wolfert
martin at martin-wolfert.de
Fri Oct 7 12:00:44 UTC 2022
Hi,
i found the issue!
Solution: When enabling the webp caching compatibility in WP Rocket
(WordPress plugin), the nginx rules / config could not work. Because WP
Rocket adds ".webp" as suffix to all .jpg images. So having the suffix
set to bla.jpg.webp, the Nginx location ( /location ~ \.(jpg|png)$ {/ )
for sure could not match! So disabling the webp caching compatibilty in
WP Rocket solves the problem.
Thanks to Francis to have opened my thinking that Nginx would be the
problem!
Best,
Martin
Am 07.10.22 um 12:04 schrieb Martin Wolfert:
>
> Hi,
>
> well, i would say thet using curl, delivering avif works:
>
> Downloading the jpg without headers gives back another filesize as
> with given webp and avif headers.
> So ... yes, also my configuration seams to work with curl.
>
> Why browsers who should support avif only serve webpand not avif
> (e.g. Chrome 106.0.5249.103) ... I have no clue.
> I really hope the Chrome developers do not distinguish between Chrome
> on Arm (MacBook M1 & M2) and Intel.
>
> Best,
> Martin
>
>
> Am 06.10.22 um 23:43 schrieb Francis Daly:
>> On Thu, Oct 06, 2022 at 02:30:08PM +0200, Martin Wolfert wrote:
>>
>> Hi there,
>>
>>> In "/var/www/htdocs/blog.lichttraeumer.de/wp-content/uploads/2022/05" i have
>>> located .jpg, .webp and .avif files:
>> Thanks for the details.
>>
>> Both ideas seem to work for me, when testing with curl:
>>
>> ===
>> $ cat /etc/nginx/conf.d/test-avif.conf
>> server {
>> listen 127.0.0.5:80;
>> root /tmp/t3;
>>
>> set $img_suffix "";
>> if ($http_accept ~* "webp") {
>> set $img_suffix ".webp";
>> }
>> if ($http_accept ~* "avif") {
>> set $img_suffix ".avif";
>> }
>> location ~ \.(jpg|png)$ {
>> try_files $uri$img_suffix $uri $uri/ =404;
>> }
>> }
>> $ mkdir /tmp/t3
>> $ echo one.png > /tmp/t3/one.png
>> $ echo one.png.avif > /tmp/t3/one.png.avif
>>
>> $ curlhttp://127.0.0.5/one.png
>> one.png
>> $ curl -H Accept:webphttp://127.0.0.5/one.png
>> one.png
>> $ curl -H Accept:avifhttp://127.0.0.5/one.png
>> one.png.avif
>>
>> ===
>> $ cat /etc/nginx/conf.d/test-avif-map.conf
>> map $http_accept $webp_suffix {
>> "~image/webp" "$uri.webp";
>> }
>> map $http_accept $avif_suffix {
>> "~image/avif" "$uri.avif";
>> }
>>
>> server {
>> listen 127.0.0.6:80;
>> root /tmp/t4;
>>
>> location ~ \.(jpg|jpeg)$ {
>> try_files $avif_suffix $webp_suffix $uri =404;
>> }
>> }
>> $ mkdir /tmp/t4
>> $ echo one.jpg > /tmp/t4/one.jpg
>> $ echo one.jpg.webp > /tmp/t4/one.jpg.webp
>> $ echo one.jpg.avif > /tmp/t4/one.jpg.avif
>> $ echo two.jpg.webp > /tmp/t4/two.jpg.webp
>>
>> $ curlhttp://127.0.0.6/one.jpg
>> one.jpg
>> $ curl -H Accept:image/avifhttp://127.0.0.6/one.jpg
>> one.jpg.avif
>> $ curl -H Accept:image/webphttp://127.0.0.6/one.jpg
>> one.jpg.webp
>> $ curl -H Accept:image/otherhttp://127.0.0.6/one.jpg
>> one.jpg
>> $ curl -H Accept:image/avif,image/webphttp://127.0.0.6/one.jpg
>> one.jpg.avif
>> $ curl -H Accept:image/avif,image/webphttp://127.0.0.6/two.jpg
>> two.jpg.webp
>> $
>>
>> ===
>>
>> Do they work for you, when testing with curl?
>>
>> If not -- why not / what is different between your test config and my test config?
>>
>> And if so -- what is different between the curl request and the Firefox request?
>>
>> Thanks,
>>
>> f
> --
> Pflichtinformationen gemäß Artikel 13 DSGVO
> Im Falle des Erstkontakts sind wir gemäß Art. 12, 13 DSGVO verpflichtet, Ihnen folgende datenschutzrechtliche Pflichtinformationen zur Verfügung zu stellen:
> Wenn Sie uns per E-Mail kontaktieren, verarbeiten wir Ihre personenbezogenen Daten nur, soweit an der Verarbeitung ein berechtigtes Interesse besteht (Art. 6 Abs. 1 lit. f DSGVO),
> Sie in die Datenverarbeitung eingewilligt haben (Art. 6 Abs. 1 lit. a DSGVO), die Verarbeitung für die Anbahnung, Begründung, inhaltliche Ausgestaltung oder Änderung eines
> Rechtsverhältnisses zwischen Ihnen und uns erforderlich sind (Art. 6 Abs. 1 lit. b DSGVO) oder eine sonstige Rechtsnorm die Verarbeitung gestattet.
> Ihre personenbezogenen Daten verbleiben bei uns, bis Sie uns zur Löschung auffordern, Ihre Einwilligung zur Speicherung widerrufen oder der Zweck für die Datenspeicherung entfällt
> (z. B. nach abgeschlossener Bearbeitung Ihres Anliegens). Zwingende gesetzliche Bestimmungen – insbesondere steuer- und handelsrechtliche Aufbewahrungsfristen – bleiben unberührt.
> Sie haben jederzeit das Recht, unentgeltlich Auskunft über Herkunft, Empfänger und Zweck Ihrer gespeicherten personenbezogenen Daten zu erhalten. Ihnen steht außerdem ein Recht auf
> Widerspruch, auf Datenübertragbarkeit und ein Beschwerderecht bei der zuständigen Aufsichtsbehörde zu. Ferner können Sie die Berichtigung, die Löschung und unter bestimmten
> Umständen die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten verlangen. Details entnehmen Sie meiner
> Datenschutzerklärung unterhttps://lichttraeumer.de/datenschutz/
>
> _______________________________________________
> nginx mailing list --nginx at nginx.org
> To unsubscribe send an email tonginx-leave at nginx.org
--
Pflichtinformationen gemäß Artikel 13 DSGVO
Im Falle des Erstkontakts sind wir gemäß Art. 12, 13 DSGVO verpflichtet, Ihnen folgende datenschutzrechtliche Pflichtinformationen zur Verfügung zu stellen:
Wenn Sie uns per E-Mail kontaktieren, verarbeiten wir Ihre personenbezogenen Daten nur, soweit an der Verarbeitung ein berechtigtes Interesse besteht (Art. 6 Abs. 1 lit. f DSGVO),
Sie in die Datenverarbeitung eingewilligt haben (Art. 6 Abs. 1 lit. a DSGVO), die Verarbeitung für die Anbahnung, Begründung, inhaltliche Ausgestaltung oder Änderung eines
Rechtsverhältnisses zwischen Ihnen und uns erforderlich sind (Art. 6 Abs. 1 lit. b DSGVO) oder eine sonstige Rechtsnorm die Verarbeitung gestattet.
Ihre personenbezogenen Daten verbleiben bei uns, bis Sie uns zur Löschung auffordern, Ihre Einwilligung zur Speicherung widerrufen oder der Zweck für die Datenspeicherung entfällt
(z. B. nach abgeschlossener Bearbeitung Ihres Anliegens). Zwingende gesetzliche Bestimmungen – insbesondere steuer- und handelsrechtliche Aufbewahrungsfristen – bleiben unberührt.
Sie haben jederzeit das Recht, unentgeltlich Auskunft über Herkunft, Empfänger und Zweck Ihrer gespeicherten personenbezogenen Daten zu erhalten. Ihnen steht außerdem ein Recht auf
Widerspruch, auf Datenübertragbarkeit und ein Beschwerderecht bei der zuständigen Aufsichtsbehörde zu. Ferner können Sie die Berichtigung, die Löschung und unter bestimmten
Umständen die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten verlangen. Details entnehmen Sie meiner
Datenschutzerklärung unterhttps://lichttraeumer.de/datenschutz/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20221007/9364d455/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Bildschirmfoto 2022-10-07 um 11.42.46.png
Type: image/png
Size: 42977 bytes
Desc: not available
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20221007/9364d455/attachment.png>
More information about the nginx
mailing list