Не удается установить локальную справку: 407 Ошибка аутентификации прокси

Вопрос:

Установка локальной справки Visual Studio (Books Online) завершается с ошибкой 407 Proxy Authentication Required.

Проблема здесь в том, что если вы находитесь за неприглядным дружественным корпоративным брандмауэром или прокси-сервером, вам может быть сложно установить локальную справку в Visual Studio 2013.

Когда я активировал Help Viewer v2.1, я бы сначала увидел список тем справки, которые могут быть установлены. Вместо этого я получаю уведомление о том, что произошли ошибки. Объясняя это, я увижу, что наш корпоративный прокси-сервер предоставил ответ 407 Proxy Authentication Required, требующий проверки подлинности NTLM. По-видимому, средство просмотра справки недостаточно интеллектуально, чтобы разумно реагировать на этот обычный HTTP-ответ.

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

Лучший ответ:

Вопрос : Ошибка Visual Studio: (407: Аутентификация прокси-сервера) (связанная, но не та же проблема) помогла мне в решении, как и в этом разговоре:

http://social.msdn.microsoft.com/Forums/vstudio/en-US/65c07e43-b652-496e-acbd-4d98861d527e/cannot-install-local-help-in-visual-studio-11?forum=vssetup

По-видимому, существуют три разных процесса, связанных с получением помощи, установленной для VS 2013:

  • Средство просмотра справки Microsoft (HlpViewer.exe)
  • Диспетчер содержимого справки Microsoft (HlpCtntMgr.exe)
  • Служба BITS (Фоновая интеллектуальная служба передачи)

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

  1. Перейдите в каталог установки средства просмотра справки (по умолчанию используется C:\Program Files (x86)\Microsoft Help Viewer\v2.1).

  2. Создайте или отредактируйте файл HlpViewer.exe.config чтобы он имел элемент <system.net> который выглядит так:

    <?xml version="1.0"?>
    <configuration>
      <system.net>
        <settings>
          <ipv6 enabled="true"/>
        </settings>
        <defaultProxy enabled="true" useDefaultCredentials="true">
          <proxy
            bypassonlocal="True"
            proxyaddress="http://your-proxy-server:80/"
          />
        </defaultProxy>
      </system.net>
    </configuration>
    

    В зависимости от настроек вашего прокси-сервера вам может понадобиться или не понадобиться элемент <proxy>.

  3. Сделайте то же самое для HlpCtntMgr.exe.config.

  4. BITS (Фоновая интеллектуальная служба передачи) имеет значение конфигурации UseLmCompat которое сообщает ему, когда отправлять аутентификационные данные NTLM. Из документации,

    Значение реестра – это DWORD. В следующей таблице перечислены возможные значения для UseLMCompat:

    Value Description
    ----- -----------
      0   BITS will send implicit credentials whenever the server prompts
            for NTLM or Kerberos credentials.
      1   BITS will send implicit credentials only if the client computer's
            LMCompatibilityLevel registry value is greater than or equal to 2.
            Prior to BITS 1.5:  Not supported
      2   BITS will send implicit credentials only if the application called
            the SetCredentials method.
            Prior to BITS 2.0:  Not supported
    

    По умолчанию конфигурация выглядит как 2. Вероятно, вам придется изменить это в реестре на

    HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/BITS/UseLmCompat
    

    где вам нужно, чтобы это значение равно 0, поэтому оно будет предоставлять учетные данные по запросу.

    ПРИМЕЧАНИЕ. Поскольку Microsoft в своей бесконечной мудрости благословила нас не одним, а двумя реестрами (32-разрядными и 64-разрядными), вам нужно будет сделать вышеуказанное изменение дважды, используя соответствующие экземпляры regedit.exe находится в

    • 32-бит: C:\Windows\regedit.exe
    • 64-бит: C:\Windows\SysWOW64\regedit.exe
  5. Сделав это, вам нужно отскочить BITS. Это можно сделать, перезагрузив ваш компьютер или через панель управления Services (services.msc), где она указана под названием ” Background Intelligent Transfer Service.

На этом этапе вам должно быть хорошо идти.

Оцените статью
TechArks.Ru
Добавить комментарий