<div>Добрый день</div><div>Cделал готовую схему для условного кеширования в memcached.</div><div>Все отлично работает но хотелось поправить ситуацию с ложным ключом, все таки не красиво просто так обращатся туда за ложными данными.</div>
<div>Готовых решений не нашел. Все остальное в отрытом доступе не работоспособно в моем случае.</div><div></div><div>set $backend 0;<br></div><div># именно при таком локейшене обеспечивается точное кеширование всего что есть</div>
<div>location ~ \/ {<br></div>default_type  text/html;<br>gzip_types application/octet-stream;<br>index default.php index.php index.html index.htm;<br><div></div><div>if ($http_cookie !~ &quot;th_auth&quot; ) {<br></div>set $backend 1;<br>
}<br>                   <br>if ($request_method != GET) {<br>set $backend 0;<br>}<br><br>if ($backend = 1) {<br>                              add_header Content-Type &quot;text/html; charset=utf-8&quot;;<br>set $memcached_key &quot;$request_uri&quot;;<br>memcached_pass <a href="http://127.0.0.1:11211">127.0.0.1:11211</a>;<br>
error_page 404 405 502 504 = @fallback;<br>break;<br>}<br># ситуация такая что когда cookie есть он отрабатывает ее и не знает куда направить запрос - а надо на фоллбэк локейшн его направить, и с пост будет тоже самое происходить <br>
# для решения вводим ложный ключ и далее переход на фолбек тем у кого есть кука либо по еррору<br>set $memcached_key &quot;123&quot;;<br>memcached_pass <a href="http://127.0.0.1:11211">127.0.0.1:11211</a>;<br>error_page 404 405 502 504 = @fallback;<br>
break;<br>}<br><br>location @fallback {<br>fastcgi_pass   unix:/tmp/php-fpm.socket;<br><div>...</div><div>}<br></div>    <br>location ~ \.php$ {<br>fastcgi_pass   unix:/tmp/php-fpm.socket;<br><div>...</div><div>}<br></div>
<div></div><div></div>Спасибо за помощь.<br><br>