Токен защиты от подделки Mvc и кеширование akamai

У нас есть форма в веб-приложении mvc, в которой используется токен защиты от подделки. Форма использует почтовый запрос ajax. Проблема, с которой я сталкиваюсь, заключается в том, что akamai кэширует страницу в течение 5 минут и передает кэшированную страницу с кэшированным токеном защиты от подделки другому клиенту, в результате чего пользователь получает ошибку сервера 500 при отправке, поскольку токен защиты от подделки действительно существует из кеша. Почему кеш Akamai смешивается с токенами защиты от подделки между клиентами? Кэш должен быть уникальным для каждого клиента. Как это возможно, что каждый клиент видит одну и ту же кэшированную страницу из akamai?


person Syler    schedule 26.08.2015    source источник


Ответы (1)


Именно так работает система Akamai. Кэш-серверы предоставляют одни и те же страницы для нескольких пользователей. Правильный способ избежать этого — использовать диспетчер свойств (или диспетчер конфигурации, если вы не обновили его), чтобы установить правило не кэшировать эти конкретные страницы. Кажется странным отправлять информацию о токене на странице, а не в заголовках или файлах cookie, но если вы делаете это, вам нужно указать Akamai, чтобы в этом случае не выполнялось кэширование.

person Kirsten Jones    schedule 31.08.2015
comment
Токен Mvc antigorgery устанавливает скрытое поле с токеном запроса, а также устанавливает cookie с токеном. Также мы не можем отключить кеширование для страницы. - person Syler; 01.09.2015
comment
Я не уверен, почему вы не можете отключить кеширование для страницы. Кэширование можно отключить с помощью регулярного выражения, соответствующего конкретной странице, или любым другим способом. Если вы обслуживаете две страницы из разных источников, система может перенаправить. - person Kirsten Jones; 03.09.2015