Решение работает только для IIS >= 7.5
Не похоже, что IIS позволяет вам манипулировать этим параметром через web.config веб-приложения. Одним из обходных путей является создание выделенного пула приложений (или нескольких) и настройка CLR пула приложений с отключенным принудительным применением FIPS. В IIS 7.5 появилось свойство CLRConfigFile, которое можно использовать для указания Файл конфигурации .NET. Это дает нам более детальный контроль над тем, на какие приложения влияет конфигурация — вместо подхода дробовика, когда мы отключаем его в machine.config или в настройках групповой политики.
1. Создайте файл конфигурации c:\inetpub\AppPoolClrConfig\noFipsWeb.config
со следующим содержимым (местоположение и имя файла не имеют значения):
<configuration>
<runtime>
<enforceFIPSPolicy enabled = "false" />
</runtime>
</configuration>
2. Предоставьте права на чтение файла удостоверению, под которым работает пул приложений:
icacls c:\inetpub\AppPoolClrConfig\noFipsWeb.config /grant "IIS APPPOOL\YourAppPoolName":(R)
3. Настройте пул приложений для загрузки этого файла конфигурации, установив свойство CLRConfigFile
пула:
команда:
%windir%\System32\inetsrv\appcmd.exe set config -section:system.applicationHost/applicationPools/[name='{AppPoolName}'].CLRConfigFile:"{FilePath}" /commit:apphost
образец:
%windir%\System32\inetsrv\appcmd.exe set config -section:system.applicationHost/applicationPools /[name='YourAppPoolName'].CLRConfigFile:"c:\inetpub\AppPoolClrConfig\noFipsWeb.config" /commit:apphost
Из-за ошибки в IIS 7.5, нам также нужно очистить свойство managedRuntimeLoader
, иначе CLRConfigFile
будет проигнорировано:
%windir%\System32\inetsrv\appcmd.exe set config -section:system.applicationHost/applicationPools /[name='YourAppPoolName'].managedRuntimeLoader:"" /commit:apphost
4. Перезапустите IIS. Ваши приложения Asp.NET, использующие описанный выше пул приложений, теперь должны игнорировать FIPS.
Кредиты:
Скотту Форсайту за объяснение как настроить пул приложений для используйте файл CLR, отличный от стандартного файла aspnet.config.
Хосе Рейесу за документирование ошибки. в IIS 7.5, который игнорировал свойство CLRConfigFile
person
Tung
schedule
10.08.2016