Nginx does not serve avif

Martin Wolfert martin at martin-wolfert.de
Thu Oct 6 12:30:08 UTC 2022


Hi,

sorry for being not precise ...

In "/var/www/htdocs/blog.lichttraeumer.de/wp-content/uploads/2022/05" i 
have located .jpg, .webp and .avif files:

-rw-r--r--  1 www-data www-data 244010 May  1 13:45 back-to-the-roots-7.jpg
-rw-r--r--  1 www-data www-data  35273 Oct  6 09:49 
back-to-the-roots-7.jpg.avif
-rw-r--r--  1 www-data www-data 166618 May  1 13:45 
back-to-the-roots-7.jpg.webp

The virtual host part for serving .avif files looks actually like that:

     set $img_suffix "";
     if ($http_accept ~* "webp") {
         set $img_suffix ".webp";
     }
     if ($http_accept ~* "avif") {
         set $img_suffix ".avif";
     }

     location ~ \.(jpg|png)$ {
        expires 1y;
        add_header Cache-Control "public, no-transform";
        add_header Vary "Accept-Encoding";
        try_files $uri$img_suffix $uri $uri/ =404;
     }


What i also tried was to work mit map directive.
In nginx.conf:

         map $http_accept $webp_suffix {
                     "~image/webp"  "$uri.webp";
         }

         map $http_accept $avif_suffix {
                 "~image/avif"  "$uri.avif";

          }

and then in the vhost:

         location ~* ^.+\.(jpg|jpeg)$ {
                add_header Vary Accept;
               try_files $avif_suffix $webp_suffix $uri =404;
         }

Both solutions does not deliver .afiv files via e.g. Firefox.

-
Martin

Am 28.09.22 um 23:18 schrieb Francis Daly:
> On Wed, Sep 28, 2022 at 10:49:15AM +0200, Martin Wolfert wrote:
>
> Hi there,
>
>> i want to use new image files. That means: first serve (if available) avif,
>> than webp and lastly jpg images.
>>          location ~* ^/wp-content/.*/.*/.*\.(png|jpg)$ {
>>                  add_header Vary Accept;
>>                  try_files   $uri$img_ext $uri =404;
>>          }
>> Unfortunately ... Nginx does not serve avif files, if available. Tested it
>> with the newest Chrome Versions.
>>
>> Anyone any idea where my error is located?
> When you make the request for /dir/thing.png, do you want to get the file
> /var/www/dir/thing.avif, or the file /var/www/dir/thing.png.avif?
>
> The usual questions are:
>
> What request do you make?
> What response do you get?
> What response do you want to get instead?
>
> Cheers,
>
> 	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 unter https://lichttraeumer.de/datenschutz/



More information about the nginx mailing list