На выходных наш администратор сервера настроил две виртуальные машины Windows 2008 с установленным IIS и настроил их под NLB. Я вошел и изменил пул приложений, под которым работал веб-сайт, на нашу учетную запись домена, которая имеет надлежащий доступ к базе данных и файловому ресурсу, в котором размещается наше веб-приложение .NET Sitefinity, и изменил его на .NET 4 Integrated. NLB и все работало нормально на обоих серверах. Во вторник он подключил третий сервер для нашего кластера, и я выполнил те же действия. Единственная разница заключалась в том, что мне были предоставлены права администратора для третьего сервера, поэтому я мог настроить его удаленно, вместо того, чтобы идти к нему в офис.
Он имеет полный контроль над общей папкой и NTFS perms на \\hostname\Sitefinity
и я полагаю, что у меня был доступ только для чтения. Я указал на то же самое \\hostname\Sitefinity\sitename
поделитесь, что остальные были включены и настройки проверки аутентификации / авторизации прошли. Я попал на сайт из http://localhost
(как я успешно справился с двумя другими перед попыткой IP-адреса кластера), и я получил ошибку HTTP 401.3 - Неавторизовано. Я много раз проверял, что пул приложений работает под одной и той же учетной записью службы.
Я пробовал использовать простой test.htm ... отлично работает на обоих первых двух серверах, но на третьем я получаю то же самое 401.3. Я скопировал свой проект разработчика в локальный каталог inetpub и повторно указал веб-сайт, и он работал отлично.
Я включил отслеживание неудачных запросов, и он действует так, как будто все еще работает с локальной учетной записью IUSR, я думаю (вместо моей учетной записи домена)? Вот отрывок из начала доступа к файловому кэшу и ошибка из трассировки:
FileName
\\hostname\sitefinity\sitename\test.htm
UserName
IUSR
DomainName
NT AUTHORITY
----------
Successful
false
FileFromCache
false
FileAddedToCache
false
FileDirmoned
true
LastModCheckErrorIgnored
true
ErrorCode
2147942405
LastModifiedTime
ErrorCode
Access is denied. (0x80070005)
----------
ModuleName
IIS Web Core
Notification
2
HttpStatus
401
HttpReason
Unauthorized
HttpSubStatus
3
ErrorCode
2147942405
ConfigExceptionInfo
Notification
AUTHENTICATE_REQUEST
ErrorCode
Access is denied. (0x80070005)
----------
Затем моей личной учетной записи AD были предоставлены разрешения на чтение и запись в общий ресурс, поэтому я создал новый пул приложений и настроил сайт под ним на случай, если возникла проблема с пулом приложений, но безуспешно.
Я создал другую под своей учетной записью, но она все равно не удалась. Просто кажется, что он не пытается получить доступ к файлам под учетной записью, под которой работают мои пулы приложений, хотя это единственный способ, которым я делал это раньше. Я установил учетные данные физического пути в дополнительных настройках на сайте для учетной записи службы, и она выдала какую-то ошибку 500, поэтому я предполагаю, что это не ответ (и мне не нужно делать это на других серверах). Это как будто я как-то пытаюсь принудительно выдать себя за другое лицо в учетной записи IUSR или что-то в этом роде?
Вау, я чувствую себя немного глупо. Я заметил, что на рабочих серверах есть дополнительные пулы приложений .net 4, но в первый раз я не погуглил: http://msdn.microsoft.com/en-us/library/ie/k6h9cz8h.aspx
C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319> aspnet_regiis -i
Вот и все ... В мою защиту ошибка, которую он выбрасывал, мне кажется несостоятельной! :)