On Fri, Jun 11, 2010 at 02:35:23PM +0300, Alex Smorodin wrote:
> Ох.в общем всю логику передал. Чтобы не выносить страницы, где передаются
> куки, в отдельный локейшн, вместе с Set-Cookie одновременно делаем
> proxy_ignore_headers "Cache-Control", тогда nginx не кэширует страницу.
> Все работает хорошо, но при автоматическом тестировании ловим такое:
> переменная кука session попадает в ключ.
> server {
> listen
192.168.0.32:9181;
> server_name
domain.com;
> access_log /var/log/nginx/
domain.com/nginx-access.log combined;
> error_log /var/log/nginx/
domain.com/nginx-error.log error;
> proxy_temp_path /var/cache/nginx/
domain.com;
> location / {
> proxy_pass
http://192.168.0.32:81;
> proxy_set_header Host
domain.com;
> proxy_set_header X-Real-IP $remote_addr;
> proxy_next_upstream error timeout invalid_header http_500 http_503;
> proxy_cache one;
> proxy_cache_key
> $host$uri?$args|$cookie_session|$cookie_username|$cookie_username|;
> proxy_no_cache $cookie_session $cookie_username
> $http_x_requested_with;
> proxy_pass_header Set-Cookie;
> proxy_ignore_headers "Expires";
> proxy_cache_valid 200 301 302 304 1h;
> }
> ключ в кэше получается вида:
>
192.168.0.32/blabla?|02e3927ebc95993e6adf59ab7072bf1c|||
> Вопрос: как переменная cookie_session может попадать в ключ (очень редко,
> но проскакивает), если она указана в параметре proxy_no_cache?