2017-02-02 10 views
2

Я пытаюсь настроить приложение Ruby on Rails (OpenProject) на сервере Windows с помощью IIS. У меня есть новый Helicon Zoo v4 (https://github.com/helicontech/zoo) и работает до сих пор с Ruby 2.3 и базовым шаблоном Ruby. Когда я иду, чтобы запустить скрипт установки для OpenProject:Получение неизвестной ошибки протокола с Git для Windows

bundle install --deployment --without postgres sqlite development test therubyracer docker 

я получаю неизвестную ошибку протокола с Git, в то время как он пытается клонировать из GitHub.

bundle install --deployment --without postgres development test therubyracer 
docker Fetching gem metadata from https://rubygems.org/...... 
Fetching version metadata from https://rubygems.org/.. 
Fetching dependency metadata from https://rubygems.org/. 
Fetching https://github.com/carrierwaveuploader/carrierwave 
fatal: unable to access 'https://github.com/carrierwaveuploader/carrierwave/': 
error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol 

Я был уверен, что это было бы легко исправить, как указать использовать TLS вместо SSLv3, но я еще, чтобы найти что-либо отношение к Git для окон, с помощью командной строки. Я все еще смотрю, но я думал, что спрошу, есть ли у кого-нибудь идеи?

EDIT: Включение трассировки и многословные curl сообщения выплюнуть лучше ошибку:

bundle install --deployment --without postgres development test therubyracer docker 
Fetching gem metadata from https://rubygems.org/...... 
Fetching version metadata from https://rubygems.org/.. 
Fetching dependency metadata from https://rubygems.org/. 
Fetching https://github.com/carrierwaveuploader/carrierwave 
    * Couldn't find host github.com in the _netrc file; using defaults 
    * timeout on name lookup is not supported 
    * Trying 192.30.253.113... 
    * TCP_NODELAY set 
    * Connected to github.com (192.30.253.113) port 443 (#0) 
    * ALPN, offering http/1.1 
    * Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH 
    * successfully set certificate verify locations: 
    * CAfile: C:/Git/mingw64/ssl/certs/ca-bundle.crt CApath: none 
    * error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol 
    * Curl_http_done: called premature == 1 
    * stopped the pause stream! 
    * Closing connection 0 fatal: unable to access 'https://github.com/carrierwaveuploader/carrierwave/': error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol 

Добавлен Git/USR/бен папку в пути, я могу смотреть на завиток с рубин веб-консоли:

D:\inetpub\wwwroot\openproject>where curl 
C:\Git\usr\bin\curl.exe 

D:\inetpub\wwwroot\openproject>curl --version 
curl 7.51.0 (x86_64-pc-msys) libcurl/7.51.0 OpenSSL/1.0.2j zlib/1.2.11 libssh2/1.7.0 
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp 
Features: Debug IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets Metalink 

Попытка установить протокол для мерзавца с: мерзавец конфигурации --global http.sslVersion SSLv3

* Couldn't find host github.com in the _netrc file; using defaults 
* timeout on name lookup is not supported 
* Trying 192.30.253.112... 
* TCP_NODELAY set 
* Connected to github.com (192.30.253.112) port 443 (#0) 
* ALPN, offering http/1.1 
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH 
* successfully set certificate verify locations: 
* CAfile: C:/Git/mingw64/ssl/certs/ca-bundle.crt 
    CApath: none 
* error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure 
* Curl_http_done: called premature == 1 
* stopped the pause stream! 
* Closing connection 0 
fatal: unable to access 'https://github.com/carrierwaveuploader/carrierwave/': error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure 
+0

Хея - просто так нам легче копировать/вставлять, чтобы делать свой собственный поиск ... можете ли вы скопировать/вставить этот вывод в исходный вопрос? (обратите внимание: не помещайте его в комментарии, так как форматирование действительно страшное) спасибо :) –

ответ

1

I documented here все причины «неизвестного протокола».

Ошибка routines:SSL23_GET_SERVER_HELLO:unknown protocol является проблемой перенаправления.
Проверьте свой proxy settings у вас есть.

Если все не удается ... попытаться переключиться на SSH

git config url."[email protected]/".insteadOf https://github.com/ 

Couldn't find host github.com in the _netrc file; using defaults 
error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol 

Похоже, вы using an old openSSL.

Убедитесь, что:

  • распаковывать самую последнюю Git для Windows (2.11.1 выпущен сегодня: PortableGit-2.11.1-64-bit.7z.exe: авто-экстрагируемых архив)
  • установить ваш PATH как:

    set PATH=C:\path\to\Git\bin;C:\path\to\Git\usr\bin;%PATH% 
    

(установка Git первым в вашем ПУТЕ)

И не забудьте указать:

git config --global http.sslVersion sslv3 

Затем повторите попытку.

+0

Я не за прокси. Я думал, что git для Windows использует старый протокол SSL, но, возможно, это просто общее сообщение об ошибке. Я попробовал изменение конфигурации, но он жаловался, что это не в каталоге git: fatal: не в каталоге git –

+0

Я собираюсь попробовать некоторые ваши рекомендации из другого сообщения. –

+0

@ user7503764 Какую версию Git вы используете? – VonC

1

VonC Советы по устранению неполадок! Один из наших серверных инженеров посмотрел на его ответ и подтвердил, что у нас есть автоматический прокси-сервер, о котором я не знал. Я смог решить это, используя сочетание ответов.

Собранный из this answer я открыл окно командной строки и вошли:

ping wpad 

Мы только что произошло, чтобы иметь общую установку, так что это подтверждало сервер существует. Затем я извлек wpad-файл из браузера (подробности в связанном ответе) и просмотрел его, чтобы найти прокси. У нас разные серверы на сайт, поэтому мне пришлось искать свое местоположение и конкретный прокси-сервер.

Отсюда, обратно в веб-консоли Helicon Zoo, я установить параметры прокси-сервера для Git с этой командой из другой VonC-х answers:

Замена ProxyServer и порт с фактическими. Наконец, я смог клонировать из github.

+0

Молодцы и более точные, чем мой ответ. +1 – VonC