Nginx инвертируют кэш 301 (постоянное) перенаправление

http://www.amanda.org/ пробует это

7
задан 6 September 2012 в 03:09
3 ответа

Я обнаружил, что ответ @ Michael меня почти полностью помог мне, но когда я включил proxy_cache , он автоматически кэшировал файлы с Expires и Cache-Control . Итак, я пришел к этому решению.

proxy_cache_path /tmp/nginx levels=1:2 keys_zone=main-cache:8m max_size=1000m inactive=600m;
proxy_temp_path /tmp/nginx/tmp;
proxy_cache main-cache;
proxy_cache_valid 301 60m;
proxy_cache_key "$scheme://$host$request_uri";
proxy_ignore_headers X-Accel-Expires Expires Cache-Control;
4
ответ дан 2 December 2019 в 23:28

nginx уже может кеш 301 редирект. Вы можете изменить время их кэширования с помощью директивы proxy_cache_valid :

proxy_cache_valid 301 365d; # Cache permanent redirects for a whole year
8
ответ дан 2 December 2019 в 23:28

Если вы хотите перенаправить все, вы можете использовать этот способ:

location / {
  proxy_pass http://127.0.0.1:8080/VirtualHostBase/https/$server_name:443/some/path/VirtualHostRoot;
}

В ваших примерах может потребоваться комбинация rewrite и proxy_pass :

location / {
  rewrite ^(.*)$ /VirtualHostBase/https/$server_name:443/some/path/VirtualHostRoot$1 break;
  proxy_pass http://127.0.0.1:8080;
}

Предупреждение : у вас другой эффект перезаписи перенаправления : break возвращает 301 вместо постоянный возвращает 302.

EDIT Выше этого модуля (-ов) необходимо использовать директиву proxy_cache_valid :

proxy_cache_valid  301 1h;

Предупреждение , директивы, связанные с кешем восходящего потока, имеют приоритет над значением proxy_cache_valid, в частности, порядок следующий:

  1. X-Accel-Expires
  2. Expires / Cache-Control
  3. proxy_cache_valid

Ссылка: HttpProxyModule , Обратный прокси Nginx + перезапись URL

-1
ответ дан 2 December 2019 в 23:28

Теги

Похожие вопросы