Хранилища символов HTTP
Используя протокол SRV, поддерживаемый через symsrv.dll (поставляется с отладчиком), хранилище символов можно получить с помощью HTTP (вместо UNC/S МБ).
HTTP обычно используется вместо S МБ если брандмауэр не разрешает S МБ между клиентом и сервером. Рабочие и лабораторные среды являются хорошими примерами этого.
Сервер символов HTTP не может быть подчиненным хранилищем в цепочке путей символов из-за его природы только для чтения. Прокси-сервер символов (фильтр ISAPI) работает вокруг этого ограничения. SymProxy загружает отсутствующие файлы в файловую систему сервера с помощью предварительно настроенных вышестоящий хранилищ символов. Фильтр скачивает файл в файловую систему, позволяя IIS скачивать файл клиенту, тем самым восстанавливая концепцию цепочки хранилищ символов. Дополнительные сведения см. в статье SymProxy .
Настройка IIS в качестве хранилища символов является относительно простой, так как файлы символов просто служат статическими файлами. Единственным параметром, не используемым по умолчанию, является конфигурация типов MIME, позволяющая загружать файлы символов в виде двоичных потоков. Это можно сделать с помощью wild карта примененного к виртуальному каталогу папки символов.
Чтобы сделать хранилище символов доступным через Интернет, необходимо настроить как каталоги, содержащие файлы символов, так и службы IIS (IIS).
Обратите внимание , что так как службы IIS будут настроены для обслуживания файлов символов, не рекомендуется использовать тот же экземпляр сервера для любой другой цели. Как правило, нужные параметры безопасности для сервера символов не будут использовать другие варианты использования, например для внешнего сервера коммерции. Убедитесь, что пример конфигурации, описанной здесь, имеет смысл для вашей среды и адаптировать его в соответствии с вашими потребностями.
Создание каталога символов
Начните с выбора каталога, который будет использоваться в качестве хранилища символов. В наших примерах мы вызываем этот каталог c:\symstore, а имя сервера в сети — \SymMachineName.
Дополнительные сведения о заполнении хранилища символов см. в разделе "SymStore " и "Дерево папок хранилища символов".
Настройка IIS
службы IIS (IIS) необходимо настроить для обслуживания символов, создав виртуальный каталог и настроив типы MIME. После этого можно выбрать метод проверки подлинности.
Создание виртуального каталога
Откройте Диспетчер Internet Information Services (IIS).
Перейдите на веб-сайты.
Щелкните правой кнопкой мыши веб-сайт по умолчанию или имя используемого сайта и выберите "Добавить виртуальный каталог...".
Введите символы псевдонимаи нажмите кнопку "Далее".
Чтобы упростить администрирование, рекомендуется использовать то же имя для папки, общего доступа и виртуального каталога.
Для пути введите c:\SymStore и нажмите кнопку "Далее".
Нажмите кнопку "ОК ", чтобы завершить добавление виртуального каталога.
Выполните процесс настройки подкаталога один раз для сервера. Обратите внимание, что это глобальный параметр и повлияет на приложения, не размещенные в корневой папке сайта.
Конфигурация подкаталога
Перейдите к [компьютеру].
Откройте редактор конфигурации.
Перейдите к системным приложениям ApplicationHost/sites.
Разверните virtualDirectoryDefaults.
Задайте для параметра AllowSubDirConfigзначение False.
Выполните этот процесс один раз для сервера. Обратите внимание, что это глобальный параметр и будет влиять на приложения, не размещенные в корневой папке сайта.
Необязательно сделать просматриваемые файлы символов
Перейдите к [компьютеру] | Сайты | [веб-сайт] | Символы.
Дважды щелкните "Просмотр каталогов" в центральной области.
Нажмите кнопку "Включить" в правой области.
Тип MIME для скачаемого содержимого должен иметь значение application/octet-stream, чтобы разрешить доставку всех файлов символов службами IIS.
Настройка типов MIME
Щелкните правой кнопкой мыши виртуальный каталог символов и выберите пункт "Свойства".
Выберите заголовки HTTP.
Щелкните Типы MIME.
Нажмите кнопку Создать.
Для расширения введите *.
Для типа MIME введите application/octet-stream.
Чтобы выйти из диалогового окна "Типы MIME" , нажмите кнопку "ОК".
Чтобы выйти из свойств символов, нажмите кнопку "ОК".
Файл конфигурации web.config можно изменить, чтобы настроить типы MIME для символов. Этот подход очищает унаследованные типы MIME и добавляет дикий карта * MIME-тип catch-all. Этот подход может потребоваться, если типы MIME наследуются в определенных конфигурациях IIS.
Настройка типов MIME с помощью web.config
Измените файл web.config, как показано здесь.
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <directoryBrowse enabled="true" /> <staticContent> <clear /> <mimeMap fileExtension=".*" mimeType="application/octet-stream" /> </staticContent> </system.webServer> </configuration>
Перезапустите IIS.
Iis теперь готов служить файлам символов всех типов из хранилища символов.
Настройка проверки подлинности
Можно настроить службы IIS для использования встроенной проверки подлинности Windows, чтобы клиенты (например, windbg.exe) могли автоматически проходить проверку подлинности в службах IIS, не запрашивая у конечного пользователя учетные данные.
Обратите внимание , что проверка подлинности Windows в СЛУЖБАх IIS позволяет управлять доступом к серверу символов, если это подходит для вашей среды. Существуют другие параметры безопасности для дальнейшего управления доступом к IIS, если это необходимо для вашей среды.
Настройка метода проверки подлинности как анонимного
Запустите диспетчер службы IIS (IIS).
Перейдите к [компьютеру] | Сайты | [веб-сайт] | Символы.
Дважды щелкните проверку подлинности в центральной области.
В разделе "Проверка подлинности и управление доступом " нажмите кнопку "Изменить".
Щелкните правой кнопкой мыши проверку подлинности Windows и выберите "Включить".
Для всех других поставщиков проверки подлинности щелкните правой кнопкой мыши каждый поставщик и выберите "Отключить".
Нажмите кнопку "ОК" , чтобы завершить настройку проверки подлинности.
Если проверка подлинности окна не указана, включите и отключите функции Windows, чтобы включить эту функцию. Расположение функции отличается в каждой версии Windows. В Windows 8.1/Windows 2012 R2 он находится в службы IIS | Веб-службы World Wide | Безопасности.
Отключение поддержки Kerberos
SymSrv.dll не поддерживает проверку подлинности Kerberos при подключении к службам IIS. Таким образом, проверка подлинности Kerberos должна быть отключена в СЛУЖБАх IIS и NTLM, необходимо задать в качестве единственного протокола проверки подлинности Windows.
Обратите внимание , что безопасность Kerberos отключена, если она подходит для вашей среды.
Отключение поддержки Kerberos с помощью appcmd.exe
Откройте окно командной строки
Чтобы отключить Kerberos и принудительно использовать NTLM, используйте следующую команду:
appcmd.exe set config -section:system.webServer/security/authentication/windowsAuthentication /+"providers.[value='NTLM']" /commit:apphost
Чтобы вернуться к значению по умолчанию с поддержкой Kerberos, используйте следующую команду:
appcmd.exe set config -section:system.webServer/security/authentication/windowsAuthentication /+"providers.[value='Negotiate,NTLM']" /commit:apphost
Настройка запросов проверки подлинности клиента SymSrv
Когда SymSrv получает запросы проверки подлинности, отладчик может отобразить диалоговое окно проверки подлинности или автоматически отказаться от запроса в зависимости от того, как оно было настроено. Это поведение можно настроить с помощью запросов !sym on|off. Например, чтобы включить запросы, используйте эту команду.
!sym prompts on
Чтобы проверка текущий параметр, используйте эту команду.
!sym prompts
Дополнительные сведения см. в статье !sym и брандмауэры и прокси-серверы.