Как прочитать апачский заголовок в NGINX?

Я настроил nginx для обхода запросов ajax (ведьма имеют заголовок):

set $accel "0"; 
if ($http_x_requested_with) {    
   set $accel "1"; 
}
proxy_cache_bypass $accel;

Это хорошо работает, но я хочу смочь кэшировать НЕКОТОРЫЕ запросы ajax. И я хочу смочь установить время кэша в PHP. Я пытаюсь использовать X-Accel-Expires для этого, и я пытаюсь переписать обходные настройки, если заголовок X-Accel-Expires представляет.

set $accel "0";
if ($http_x_requested_with) {
   set $accel "1";
}

if ($http_x_accel_expires) {
     set $accel "0";
}
proxy_cache_bypass $accel;

Но это не работает.... Кажется, что nginx не получает заголовок Apache X-Accel-Expires в переменной $http_x_accel_expires.

0
задан 26 September 2014 в 09:17
1 ответ

X- Заголовок Accel-Expires - это заголовок ответа, отправляемый PHP, а nginx заполняет только заголовки запроса в переменные $ http .

Вам следует полностью перенести логику кэширования в PHP. Если вы не хотите кэшировать некоторые ответы от Ajax, вы добавляете X-Accel-Expires: 0 в PHP.

Таким образом, вам не нужно проделывать какие-либо трюки в nginx.

0
ответ дан 5 December 2019 в 13:16

Теги

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