Поделиться через


Хранилища символов HTTP

Используя протокол SRV, поддерживаемый через symsrv.dll (поставляется с отладчиком), хранилище символов можно получить через HTTP (вместо UNC/SMB).

HTTP обычно используется вместо SMB, если брандмауэр не разрешает SMB между клиентом и сервером. Рабочие и лабораторные среды являются хорошими примерами этого.

Сервер символов HTTP не может быть нижестоящим хранилищем в цепочке путей символов из-за его режима только для чтения. Прокси-сервер символов (фильтр ISAPI) работает вокруг этого ограничения. SymProxy загружает отсутствующие файлы в файловую систему сервера с помощью предварительно настроенных хранилищ символов вышестоящего потока. Фильтр скачивает файл в файловую систему, позволяя IIS скачивать файл клиенту, тем самым восстанавливая концепцию цепочки хранилищ символов. Дополнительные сведения см. в SymProxy.

Настройка IIS в качестве хранилища символов является относительно простой, так как файлы символов просто служат статическими файлами. Единственным параметром, не используемым по умолчанию, является конфигурация типов MIME, позволяющая загружать файлы символов в виде двоичных потоков. Это можно сделать с помощью подстановочного знака "*", примененного к виртуальному каталогу папки символов.

Чтобы сделать хранилище символов доступным через Интернет, необходимо настроить как каталоги, содержащие файлы символов, так и службы IIS.

Примечание из-за того, что службы IIS будут настроены для обслуживания файлов символов, не рекомендуется использовать тот же экземпляр сервера для любой другой цели. Как правило, желаемые параметры безопасности для сервера символов не будут иметь смысла для других целей, например, для сервера электронной коммерции, работающего с внешними пользователями. Убедитесь, что пример конфигурации, описанной здесь, имеет смысл для вашей среды и адаптировать его в соответствии с вашими потребностями.

Создание каталога символов

Начните с выбора каталога, который будет использоваться в качестве хранилища символов. В наших примерах мы вызываем этот каталог c:\symstore, а имя сервера в сети — \SymMachineName.

Дополнительные сведения о заполнении хранилища символов см. в SymStore и дереве папок хранилища символов.

Настройка IIS

Службы IIS должны быть настроены для обслуживания символов, создавая виртуальный каталог и настраивая типы MIME. После этого можно выбрать метод проверки подлинности.

Создание виртуального каталога

  1. Откройте диспетчер служб IIS.

  2. Перейдите к веб-сайтам.

  3. Щелкните правой кнопкой мыши сайт по умолчанию или имя используемого сайта и выберите Добавить виртуальный каталог....

  4. Введите символы для псевдонима и нажмите Далее.

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

  5. Для пути введите c:\SymStore и нажмите кнопку Далее.

  6. Нажмите кнопку ОК, чтобы завершить добавление виртуального каталога.

Выполните процесс настройки подкаталога один раз для сервера. Обратите внимание, что это глобальный параметр и повлияет на приложения, не размещенные в корневой папке сайта.

конфигурация подкаталога

  1. Перейдите к [Компьютер].

  2. Откройте редактор конфигурации.

  3. Перейдите в настройки системы ApplicationHost/sites.

  4. Расширьте virtualDirectoryDefaults.

  5. Задайте allowSubDirConfig значение false false.

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

Необязательно сделать файлы символов доступными для просмотра

  1. Перейдите к [Компьютер] | Сайты | [веб-сайт] | Символы.

  2. В центральной области дважды щелкните Просмотр каталога.

  3. Щелкните Включить в правой области.

Тип MIME для загружаемого контента должен быть установлен как application/octet-stream, чтобы обеспечить доставку всех файлов символов службами IIS.

Настройка типов MIME

  1. Щелкните правой кнопкой мыши виртуальный каталог Symbols и выберите Свойства.

  2. Выберите заголовки HTTP.

  3. Щелкните Типы MIME.

  4. Щелкните Создать.

  5. Для расширениявведите *.

  6. Для типа MIMEвведите application/octet-stream.

  7. Чтобы выйти из диалогового окна типов MIME, нажмите кнопку ОК.

  8. Чтобы выйти из Свойства символов, нажмите кнопку ОК.

Вы можете изменить файл web.config, чтобы настроить типы MIME для символов. Этот подход очищает унаследованные типы MIME и добавляет универсальный подстановочный символ * типа MIME. Этот подход может потребоваться, если типы MIME наследуются в определенных конфигурациях IIS.

Использование web.config для настройки типов MIME

  1. Измените файл 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>
    
  2. Перезапустите СЛУЖБЫ IIS.

IIS теперь готов обслуживать файлы символов всех типов из хранилища символов.

Настройка проверки подлинности

Можно настроить службы IIS для использования встроенной проверки подлинности Windows, чтобы клиенты (windbg.exe например) могли автоматически проходить проверку подлинности в службах IIS, не запрашивая у конечного пользователя учетные данные.

Примечание Настройте только проверку подлинности Windows в IIS для управления доступом к серверу символов, если это уместно в вашей среде. Существуют другие параметры безопасности для дальнейшего управления доступом к IIS, если это необходимо для вашей среды.

Настройка метода проверки подлинности в качестве анонимного

  1. Запустите диспетчер служб Интернет информации (IIS) .

  2. Перейдите к [Компьютер] | Сайты | [Веб-сайт] | Символы.

  3. Дважды щелкните Проверка подлинности в центральной панели.

  4. В разделе Проверка подлинности и управление доступом нажмите Изменить.

  5. Щелкните правой кнопкой мыши по Аутентификация Windows и выберите Включить.

  6. Для всех остальных поставщиков проверки подлинности щелкните правой кнопкой мыши по каждому и выберите Отключить.

  7. Нажмите кнопку ОК, чтобы завершить настройку проверки подлинности.

Если проверка подлинности Windows не указана, используйте включить или отключить компоненты Windows, чтобы активировать эту функцию. Расположение функции отличается в каждой версии Windows. В Windows 8.1/Windows 2012 R2 он расположен в службах Internet Information Services | Веб-службы World Wide | Безопасность.

Отключение поддержки Kerberos

SymSrv.dll не поддерживает проверку подлинности Kerberos при подключении к службам IIS. Таким образом, проверка подлинности Kerberos должна быть отключена в службах IIS, и NTLM необходимо задать в качестве единственного протокола проверки подлинности Windows.

примечание отключить безопасность Kerberos, если это подходит для вашей среды.

Отключение поддержки Kerberos через appcmd.exe

  1. Открытие окна командной строки

  2. Чтобы отключить Kerberos и принудительно использовать NTLM, используйте следующую команду:

    appcmd.exe set config -section:system.webServer/security/authentication/windowsAuthentication /+"providers.[value='NTLM']" /commit:apphost
    
  3. Чтобы вернуться к значению по умолчанию с поддержкой 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 и брандмауэрах и прокси-серверах.