EasyEngine / easyengine

Command-line control panel for Nginx Server to manage WordPress sites running on Nginx, PHP, MySQL, and Let's Encrypt
https://easyengine.io
MIT License
2.12k stars 431 forks source link

Avif images served with incorrect `Content-Type` header #1888

Open gagan0123 opened 20 hours ago

gagan0123 commented 20 hours ago

Description

I am using EasyEngine to host a WordPress website that utilizes the Modern Image Formats plugin to convert images to WebP and Avif formats. While WebP images are served correctly, Avif images are being served with an incorrect Content-Type header (application/octet-stream instead of image/avif).

Steps to Reproduce:

  1. Install EasyEngine on a server.
  2. Create a WordPress site using EasyEngine.
  3. Install the Modern Image Formats plugin.
  4. Configure the plugin to convert images to WebP and Avif.
  5. Upload an image and observe the Content-Type header for the generated Avif version.

Expected Behavior:

Nginx should serve Avif images with the Content-Type: image/avif header.

Actual Behavior:

Nginx is serving Avif images with the Content-Type: application/octet-stream header.

Additional Information:

Suggested Solution:

Update EasyEngine's Nginx configuration to include the following line within the server block:


location ~* \.(avif)$ {
  add_header Content-Type image/avif;
}
gagan0123 commented 20 hours ago

Also the Cache-Control header for avif images will need an update.

gagan0123 commented 20 hours ago

As a temporary solution, I've transformed the response header via Cloudflare to output correct value.