в

Kazan Dev Alliance

Казанское Сообщество Разработчиков Программного Обеспечения

Персональный блог Зильберга Игоря

Персональный блог Зильберга Игоря (участник сообщества, генеральный директор SmartHead, LTD).

Ферма серверов и MachineKey

Разместив сайт ITKAZAN.COM на хостинговом сервере столкнулся с интересной проблемой: довольно часто сайт выбрасывал пользователя как неаутентифицированного, а в логах появлялась ошибка

User Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.8.1.6) Gecko/2
Path: /WebResource.axd?d=0JCecUTcub2VaPxwrH1ueLJwlWgtqR73ZSEJSGWH04Kye98FtT3rMcuz
d9iEPGEpHQzn9PdtiGrFeYthk1h9RYeh3APq7D0PYOTcXJzvaTI1&t=633211979521164595 as HTTP GET
Referrer: /controlpanel/Tools/Reports/ExceptionsReport.aspx
Message: Padding is invalid and cannot be removed.

Найти причину оказалось не очень просто, поэтому публикую здесь решение, возможно поможет кому-нибудь.

Как оказалось все дело в том, что сайт работал у провайдера на ферме серверов, ключи в разделе MashineKey конфигурационного файла которых были разумеется различными, из-за этого возникали проблемы в шифровании\расшифровании cookies аутентификации и ViewState.

Решается все ручным включением в конфигурационный файл сайта раздела <machineKey/> с явно прописанными ключами, а чтобы не генерировать ключи вручную, очень полезно воспользоваться специальным сервисом <machineKey> Generator.

How To: Configure MachineKey in ASP.NET 2.0

Комментарии

 

Raimon сказал:

у меня был похожий вопрос на собеседовании: какие могут быть проблемы после переноса пиложения на веб ферму.

когда я ниразу об этом не думал, впрос мне показался очень интересным.

вроде придумал несколько проблем... в том числе и эту :)

August 15, 2007 3:51 AM
 

doctorsolberg сказал:

Сама проблема конечно очевидна, но по генерируемой ошибке не просто догадаться:)

August 15, 2007 4:26 AM
 

Marsel Khaidarov сказал:

Ну догадаться-то можно. "Padding is invalid and cannot be removed" - это есть CryptographicException, а погуглив на "WebResource.axd+CryptographicException" или "WebResource.axd+Padding+is+invalid+and+cannot+be+removed" тут же находится то что нужно.

Сам столкнулся с этим почти сразу, при обращении к вебсервисам: сервер не терпел долго такого количества эксепшнов и просто вырубал приложения, по несколько раз в день:)

Неделю решали проблему с хостером. Я тыкал его носом в статью в KnowlegeBase, сайты продолжали регулярно давать 503 ошибку, в результате хостер, "долго обсуждая это дело с Майкрософт", все-же решил проблему со своей стороны. О возможности переопределения machineKey в app.config я сам и не подозревал... Буду знать.

August 15, 2007 8:19 AM
 

Raimon сказал:

Спасибо, за ссылку на генератор.

пригодилась :)

August 20, 2007 2:57 PM
 

togoa сказал:

О, сейчас поделаем... а то заколебало, сайт работает без проблем, а на мыло приходят ошибки по сто раз на дню :)

November 16, 2008 8:47 AM
 

togoa сказал:

Не поправилось(( Поставил костыль, такой эксепшн мне не отсылается теперь)

November 16, 2008 9:12 AM

Оставить комментарий

(required)  
(optional)
(required)  

About doctorsolberg

Студент КГТУ (КХТИ) Факультет Управления и Автоматизации
Генеральный директор ООО "SmartHead"
© 2007 Kazan Developers Community and Post`s Authors