2013-09-25 3 views
4

Когда вы используете директиву add_header в nginx, заголовок добавляется к ответу, исходящему от исходного сервера.Nginx add_header и управление кешем

Скажем, сервер происхождения возвращает управление кешем public, max-age = 60. Но в Nginx обратный прокси-сервер местоположения вы установили что-то вроде:

add_header кэш-контроль общественности, макс возраста = 10

Что это делать именно? Есть два разных сценария, которые я могу придумать:

1) Nginx уважает заголовок управления кешем с исходного сервера и сохраняет содержимое в кеше с истечением 60 секунд. Затем передает ответ с перезаписанным заголовком, заставляя клиент хранить ресурс в кеше с истечением 10 секунд.

или ..

2) Nginx переписывает заголовки ответа, а затем интерпретирует их. Он хранит ресурс с истечением 10 секунд и передает ответ клиенту, который также кэширует его с истечением 10 секунд.

ответ

6

Nginx добавляет свой заголовок непосредственно перед сервером происхождения, так что вы будете иметь:

cache-control: public, max-age=10 
cache-control: public, max-age=60 

и заголовок происхождения заменит заголовок Nginx.

Решение? Используйте nginx v1.4.3, у которого есть модуль more_set_headers и more_clear_headers, чтобы заменить или очистить заголовки от источника.

Вы можете скачать модуль с here.
Here Как скачать nginx 1.4.3 и как его установить.
Here как использовать директивы.

+0

Спасибо за освобождение! –

+0

Вы приветствуете;) – nlopez

+0

Только то, что мне нужно. Я использовал nginx на debian squeezy и изо всех сил пытался заставить его работать. – alfredocambera

Смежные вопросы