nginx - включить кеш для файла .css со сжатием gzip - PullRequest
0 голосов
/ 09 февраля 2019

У меня следующий конфиг nginx.если я удаляю конфиг кеша для css, все работает, и все css файлы загружаются отлично через обратный прокси.но когда я помещаю в конфигурацию кеша для .css, что приводит к 404 для всех моих ресурсов CSS:

location ~* \.css {
          add_header Cache-Control public;
          add_header Pragma public;
          add_header Vary Accept-Encoding;
          expires 1M;
        } 

location / {
            proxy_pass http://localhost:8080;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_set_header X-Forwarded-Proto $scheme;
             proxy_set_header X-Forwarded-Port $server_port;
        }

1 Ответ

0 голосов
/ 09 февраля 2019

Nginx выбирает один location для обработки запроса.Это location должно быть завершено.См. , как Nginx обрабатывает запрос .

В вашем блоке location ~* \.css отсутствует оператор proxy_pass.

Операторы proxy_set_header можно переместить во внешний блоки наследуется обоими location блоками.

Например:

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;

location / {
    proxy_pass http://localhost:8080;
}

location ~* \.css {
    add_header Cache-Control public;
    add_header Pragma public;
    add_header Vary Accept-Encoding;
    expires 1M;

    proxy_pass http://localhost:8080;
}
...