Что-то мне все равно не нравится эта схема со слепым кэшированием всего подряд от бэкэнда... Точнее не нравится система хранения этого кэша. Хочется ее иметь доступной с обеих сторон, например заранее, ночью, нагенерить в нее графики.<br>
<br>Я думал в такую сторону...<br><a href="http://host/image/p1/p2/image.png">http://host/image/p1/p2/image.png</a>, где p1 & p2 - параметры<br>оно же для томката:<br><a href="http://host/image.jsp?param1=xx&param2=yy&param3=zz" target="_blank">http://host/image.jsp?p1=p1&p2=p2</a><br>
<br>Конфиг:<br>location ^~ /image/ {<br>error_page 404 = @fallback;<br>}<br>location @fallback {<br> rewrite /image/(.*)/(.*)/image.png /image.jsp?p1=$1&p2=$2 last;<br> proxy_pass <a href="http://127.0.0.1:8080">http://127.0.0.1:8080</a><br>
}<br><br>Мне кажется так будет работать. Будет? :)<br>В этой схеме я заранее смогу нагенерить самых востребованных графиков, остальные - сами в процессе подтянутся, логика для томката - куда сохранять - примитивная. Если объемы будут вменяемые, то можно в эту схему вставить две строчки про мемкэш и хранить все в памяти. Вот только в данном варианте совсем нет никаких идей по проверке авторизации. Возможно как-то прикрутить? Сессию, куку, что-то еще? Может p1 - это md5 от чего-то что можно проверить правилом конфиге nginx-a?<br>
<br><br><br><div class="gmail_quote">2009/6/13 Anton Kuznetsov <span dir="ltr"><<a href="mailto:maybe@arjlover.net">maybe@arjlover.net</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Спасибо, что-то близко, но.. документация на nginx - это отдельная боль. :( Даже гугль не может мне подсказать что есть - $cookie_user & $scheme<br>Кто-нибудь подскажет?<br><br><br><br><div class="gmail_quote">2009/6/13 Kirill A. Korinskiy <span dir="ltr"><<a href="mailto:catap%2Bnginx@catap.ru" target="_blank">catap+nginx@catap.ru</a>></span><div>
<div></div><div class="h5"><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">At Sat, 13 Jun 2009 17:57:36 +0200,<br>
Anton Kuznetsov <<a href="mailto:maybe@arjlover.net" target="_blank">maybe@arjlover.net</a>> wrote:<br>
><br>
> [1 <text/plain; UTF-8 (base64)>]<br>
><br>
> [2 <text/html; UTF-8 (base64)>]<br>
<div>> Есть задача-проблема из двух частей.<br>
><br>
> 1. За нжинксом стоит томкат, он по урлам типа <a href="http://host/image.jsp?param1=xx&param2=yy&param3=zz" target="_blank">http://host/image.jsp?param1=xx&param2=yy&param3=zz</a><br>
> отдает графики. Построение графика крайне тяжелое, необходимо кэширование. Возможно ли сохранить<br>
> картинку на диск из томката или закэшировать нжинксом, чтобы при повторном запросе - отдался готовый<br>
> PNG нжинксом? На следующий день, в некий час икс, все графики становятся устревшими, необходима<br>
> очистка кэша.<br>
><br>
<br>
</div>вносите в url изменяемую, с часом икс, часть. Например дату.<br>
<div><br>
> 2. Авторизация. Она построена на сессиях томката. Чего очень не хочется - чтобы один пользователь<br>
> посмотрев внимательно на свои param, не надергал из кэша графиков других пользователей.<br>
><br>
> Это все решаемо? Если решаемо - интересны примеры конфига.<br>
<br>
<br>
</div><a href="http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_cache_key" target="_blank">http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_cache_key</a><br>
<font color="#888888"><br>
--<br>
wbr, Kirill<br>
<br>
</font></blockquote></div></div></div><br><br clear="all"><br>-- <br>Best regards,<br><font color="#888888">Anton Kuznetsov. <br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Best regards,<br>Anton Kuznetsov. <br>