Nuxt SSR Nginx Кэширование только статическое?

#nginx #nuxt.js

Вопрос:

Я развернул свое приложение Nuxt SSR на экземпляре AWS EC2, используя PM2 с Nginx.

Мои настройки nginx более или менее скопированы из верхнего окна из документов nuxt nginx: https://nuxtjs.org/integrations/deployments/nginx/

Я хотел бы добавить кэширование ко всей моей статической папке (или к тому, что содержит изображения/css, которые, по мнению Lighthouse, я должен кэшировать), так как у меня действительно много изображений. Однако для меня важно, чтобы я не кэшировал ничего, кроме css / изображений и т. Д., Так как большая часть моего сайта динамична и постоянно меняется.

Может ли кто-нибудь указать мне правильное направление или помочь в настройке параметров nginx? Похоже, что они добавляют кэширование в настройках laravel forge ниже стандартных настроек, но я не уверен, насколько широк кэш, и применим ли он в моем случае использования.

Мои настройки:

 map $sent_http_content_type $expires {
    "text/html"                 epoch;
    "text/html; charset=utf-8"  epoch;
    default                     off;
}

server {             # the port nginx is listening on
    server_name     test.example.com www.test.example.com;    # setup your domain here

    gzip            on;
    gzip_types      text/plain application/xml text/css application/javascript;
    gzip_min_length 1000;

    location / {
        expires $expires;

        proxy_redirect                      off;
        proxy_set_header Host               $host;
        proxy_set_header X-Real-IP          $remote_addr;
        proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto  $scheme;
       

    proxy_read_timeout          1m;
        proxy_connect_timeout       1m;
        proxy_pass                  http://127.0.0.1:3000; # set the address of the Node.js instance here
        

}

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/test.example.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/test.example.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot


}


server {
    if ($host = www.test.example.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = test.example.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen          80;
    server_name     test.example.com www.test.example.com;
    return 404; # managed by Certbot


}
 

Запросы выходят:
Я понимаю, что на самом деле это в основном основано на nuxt-img.
введите описание изображения здесь

РЕДАКТИРОВАТЬ: Похоже, что использование nuxt-img без установки поставщика=»статическая» поддержка была частью проблемы, о которой был предупрежден lighthouse. Тем не менее, было бы еще лучше кэшировать это из nginx, я бы предположил?