есть вот такой конфиг. запрашиваем с nginx файл, который есть на apa01 и которого нету на apa02. nginx тыкается в apa02, получает 404 и забирает файл с apa01. так постоянно, сначала тыкается во второй бэкэнд, а потом скачивает с первого и отдаёт. если файл разложить по обоим бэкэндам, то он кешируется и отдаётся уже из кеша.<br>
<br>как правильно сделать, чтобы кешировал файлы, которые есть на одном из бэкэндов в апстриме и которые нету на остальных?<br><br>=== кусь ===<br> upstream test-apa {<br> server apa01:9003 weight=1;<br> server apa02:9003 weight=2;<br>
}<br> proxy_cache_key $scheme$proxy_host$request_uri;<br> proxy_cache_min_uses 1;<br> proxy_cache_valid 1d;<br> proxy_cache_path /var/tmp/nginx/cache/test levels=1:2 keys_zone=test:20m inactive=1d max_size=1g;<br> server {<br>
listen <a href="http://1.2.3.4:80">1.2.3.4:80</a>;<br> proxy_next_upstream error timeout http_404 http_500 http_503;<br> proxy_set_header Connection close;<br> proxy_set_header X-Forwarded-For $remote_addr;<br> server_name <a href="http://test.domain.ru">test.domain.ru</a>;<br>
proxy_set_header Host <a href="http://test.domain.ru:9003">test.domain.ru:9003</a>;<br> proxy_redirect <a href="http://test.domain.ru:9003/">http://test.domain.ru:9003/</a> <a href="http://test.domain.ru/">http://test.domain.ru/</a>;<br>
location ~* "\.php$" {<br> proxy_pass <a href="http://test-apa">http://test-apa</a>;<br> }<br> location / {<br> proxy_cache test;<br> proxy_pass <a href="http://test-apa">http://test-apa</a>;<br> }<br>
}<br>=== кусь ===<br><br>