Я хочу кэшировать некоторые статические файлы с помощью Nginx. Но я почему-то не могу заставить его работать.
Это мое nginx.conf:
www-данные пользователя;
рабочие_процессы авто;
pid /run/nginx.pid;
включить /etc/nginx/modules-enabled/*.conf;
События {
    worker_connections 768;
    #multi_accept включен;
}
http {
    #GZIP
    gzip включен;
    gzip_vary включен;
    gzip_proxy любой;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_http_версия 1.1;
    gzip_min_length 256;
    приложение gzip_types/приложение javascript/приложение json/приложение ld+json/шрифт xml/шрифт eot/шрифт otf/текст ttf/текст css/текст javascript/обычный текст/xml;
    # СЕРВЕРА
    сервер {
            слушать 80;
        имя_сервера пример.com;
        если ($http_host ~* ^www\.(.*)$ )
        {
            вернуть 301 https://$1$request_uri;
        }
        вернуть 301 https://$http_host$request_uri;
    }
    сервер {
        слушать 443 ssl;
        если ($http_host ~* ^www\.(.*)$ )
        {
            вернуть 301 $схема://$1$request_uri;
        }
        #SSL
        ssl_certificate /root/.acme.sh/example.com/fullchain.cer;
        ssl_certificate_key /root/.acme.sh/example.com/example.com.key;
        имя_сервера пример.com;
        # Передать весь трафик моему веб-приложению
        место расположения / {
            proxy_set_header Хост $host;
            proxy_pass http://localhost:8080;
        }
        #Кэширование в браузере
        расположение ~* \.(js|css)$ {
            истекает через 180 дней;
            add_header Прагма "общедоступная";
            add_header Cache-Control "public";
        }
        расположение ~* \.(jpg|jpeg|png|webp|woff|woff2|ttf)$ {
            истекает через 365 дней;
            add_header Прагма "общедоступная";
            add_header Cache-Control "public";
        }
    }
}
Проблема связана с частью «Кэширование браузера». При включении этого блока кода мой сайт загружается, но все css-файлы, javascript-файлы и изображения возвращают 404. Как будто эти файлы игнорируют мои место расположения /.
Я смог решить эту проблему, скопировав/вставив
proxy_set_header Хост $host;
proxy_pass http://localhost:8080;
во всех моих место расположения-blocks, но это не очень элегантно и на самом деле заставило мой сайт работать намного медленнее...
Я также попытался переместить два место расположения-блоки для кеширования браузера в блоке место расположения \ поэтому последний будет действовать как «родитель». Но это не повлияло на поведение изображений и т. д., возвращающих 404.
Как мне настроить кеширование статических файлов в Nginx?