Как кэшировать статический файл JS, который генерируется PHP

Я специально использую программное обеспечение для автоматизации электронной почты Mautic. Mautic имеет код отслеживания JS, который генерируется динамически (/mtc.js), но поколение не кэшируется. Я использую nginx в качестве своего веб-сервера.

Логическая вещь, которую нужно сделать здесь, это использовать fastcgi_cache для кэширования выходных данных файла. Как я могу использовать fastcgi_cache для кэширования файла JS, который генерируется PHP? Есть ли лучшая альтернатива?

Вот соответствующие части моего vhost (за исключением материала Cerbot):

fastcgi_cache_path /var/www/mail.zachrussell.net/cache levels=1:2 keys_zone=mail.zachrussell.net:100m inactive=60m;
fastcgi_buffers 16 16k; 
fastcgi_buffer_size 32k;
server {
    server_name mail.zachrussell.net www.mail.zachrussell.net;

    access_log /var/www/mail.zachrussell.net/logs/access.log;
    error_log /var/www/mail.zachrussell.net/logs/error.log;

    root /var/www/mail.zachrussell.net/public;
    index index.php;

    set $skip_cache 0;


    if ($request_method = POST) {
        set $skip_cache 1;
    }   
    if ($query_string != "") {
        #set $skip_cache 1;
    }   

    location / {
        try_files $uri $uri/ /index.php?$args; 
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_cache_bypass $skip_cache;
        fastcgi_no_cache $skip_cache;
        fastcgi_cache mail.zachrussell.net;
        fastcgi_cache_valid 60m;
    } 
    [... certbot stuff ...]
}

0 ответов

Другие вопросы по тегам