2012-03-11 1 views

ответ

3

У вас есть два основных курса: либо отказаться от использования лака для кэширования страницы, либо отказаться от формы входа на страницу. Маркер CSRF (который вы не хотите потерять) не позволит вам успешно кэшировать страницу в лаке; даже если вы учтете это, вы в конечном итоге получите копию страницы для каждого посетившего каждого человека, что победит цель использования лака.

Решение на полпути между ними состоит в том, чтобы кешировать страницу без формы входа в лак, а затем вставить форму входа в систему с помощью Javascript. Основная страница будет кэшироваться, и вы должны иметь возможность сделать регистрационную форму (вытащить через AJAX) достаточно быстро, чтобы не вызывать проблем. Другим возможным решением было бы включение формы входа в IFRAME, хотя это еще больше усложняет ситуацию, так как вам нужно будет что-то в ответе на регистрацию, в которой работал с Javascript на главной странице (включая IFRAME в первую очередь), чтобы перезагрузить его соответствующим образом.

+0

Спасибо за ваш ответ! Я думал об использовании esi, чтобы решить эту проблему, но я думаю, что сначала смогу попробовать решение js. Моя форма входа на самом деле находится в световой коробке iframe. Это уже некоторые формы, которые у меня есть в js-шаблонах, которые, по-видимому, вызывают токен crsf, поэтому для того, чтобы эти внешние элементы были быстрыми, нужно попробовать. Еще раз спасибо, я расскажу позже, чтобы рассказать, как я это сделал. –

+0

Обновление: проблема была в два раза. Был установлен токен crsf, чтобы купить внешнее приложение, которое я использовал, которое блокировало кеширование в лаке. Как только я выделил, я обнаружил, что лак все еще не кешируется. В канале #varnish irc мне сказали, что когда вы используете заголовок заголовка авторизации, пропускает проверки и никогда не кэширует по умолчанию. –

Смежные вопросы