<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 !~ "th_auth" ) {<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 "text/html; charset=utf-8";<br>set $memcached_key "$request_uri";<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 "123";<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>