(git tfs fetch) TF400324: службы Team Foundation недоступны, основное соединение было закрыто

Я использую git-tfs почти 5 лет, а затем однажды я получил следующую ошибку при запуске git tfs fetch:

TF400324: Team Foundation services are not available from server https://tfs.company.com/tfs/foo.
Technical information (for administrator):
  The underlying connection was closed: An unexpected error occurred on a send.
The underlying connection was closed: An unexpected error occurred on a send.
Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
An existing connection was forcibly closed by the remote host

Я даже открыл Fiddler, чтобы посмотреть, что происходит, и буквально TFS-сервер отключил сокет, когда мой ноутбук попытался подключиться.

Поговорив с одним из наших администраторов сервера, я обнаружил, что поддержка TLS 1.0 была отключена на наших серверах TFS, и я думаю, что у меня есть пистолет для курения. Я думаю, что мой ноутбук пытается подключиться к нашим серверам, используя TLS 1.0, что, конечно, заставляет сервер закрывать сокет.

Как я могу изменить версию TLS, которая git tfs используется при подключении к Team Foundation Services?

1 ответ

Я понял это, и, как я подозревал, отключение TLS 1.0 на серверах Team Foundation было корнем проблемы. После googling git tfs tls 1.0 я наткнулся на Включение сильной криптографии для всех приложений.Net, что привело меня к исправлению. Вам нужно включить сильное шифрование для приложений.NET (да, так сказано в заголовке).

  1. Откройте командную строку PowerShell и запустите ее с повышенными привилегиями.

  2. Выполните следующую команду для 64-битных приложений:

    # set strong cryptography on 64 bit .Net Framework (version 4 and above)
    Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord
    
  3. Запустите эту команду для 32-битных приложений

    # set strong cryptography on 32 bit .Net Framework (version 4 and above)
    Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord
    
  4. Перезагружать.

Теперь моя машина с радостью снимает около сотни проверок TFS.

У меня нет особых технических знаний о TFS, но каждый день мне приходится проверять свой код из Visual Studio, и недавно я столкнулся с этой проблемой. Вышеупомянутое решение вышло из моей головы, поэтому я попробовал более простой способ:

  1. Вышел из системы, затем снова вошел в TFS через Команда-> Управление подключениями.
  2. Снова нанес на карту мой проект.

И вуаля! Я успешно зарегистрировал свой код. Может это поможет другим

Другие вопросы по тегам