Ответ 1
Мой экземпляр IIS 8 - это новая установка, кажется, мне нужно внести некоторые изменения в Handler Mappings
Конфигурация резервного копирования IIS
В случае, если любая из предложенных изменений нарушит существующие веб-сайты, лучше всего сделать резервную копию файла applicationhost.config
- Перейдите к
C:\Windows\System32\inetsrv\config
- Сделайте копию
applicationhost.config
Удалить неиспользуемые обработчики
В качестве отправной точки я удалил все неиспользуемые сопоставления обработчиков для уменьшения проблемного пространства. Вы можете сделать это, изменив applicationhost.config
напрямую или с помощью диспетчера IIS
- Откройте диспетчер IIS
- Либо на сервере node, либо на отдельном веб-сайте node выберите функцию сопоставления обработчиков
- Вручную удалите все сопоставления, которые вам не нужны.
Мои сайты в значительной степени основаны на сервисах и зависят от статических файлов и файлов с расширениями файлов .aspx
и .svc
. Я также вручную удалил все ссылки на .NET 2.0
в файле конфигурации.
Добавить обработчик OPTIONS
Кажется, это исправление.
- Откройте диспетчер IIS
- Либо на сервере node, либо на отдельном веб-сайте node выберите функцию сопоставления обработчиков
- В столбце lefthand выберите
Add Module Mapping
- В диалоговом окне
Add Module Mapping
используйте следующие значения.-
Request path
-*
-
Module
-ProtocolSupportModule
-
Executable
- [Оставить пустым] -
Name
- [Что бы вы ни хотели]
-
- Нажмите
Request Restrictions
- На вкладке
Mapping
отключитеInvoke handler only if request is mapped to
- На вкладке
Verbs
выберитеOPTIONS
- На вкладке
Access
выберитеScript
- На вкладке
Моя конфигурация обработчиков выглядит так:
<handlers accessPolicy="Read, Script">
<add name="OPTIONS" path="*" verb="OPTIONS" modules="ProtocolSupportModule" resourceType="Unspecified" />
<add name="svc-Integrated-4.0" path="*.svc" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="SecurityCertificate" path="*.cer" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%windir%\system32\inetsrv\asp.dll" resourceType="File" />
<add name="ISAPI-dll" path="*.dll" verb="*" modules="IsapiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" />
<add name="PageHandlerFactory-Integrated-4.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="CGI-exe" path="*.exe" verb="*" modules="CgiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" />
<add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />
</handlers>