2013-03-23 3 views
3

stackoverflow에서 검색 한 결과이 질문에 정확히 답변 한 항목을 찾을 수 없어서 여기에서 질문하고 가능한 한 내 문제에 대해 자세히 설명하고 싶습니다.GIT HTTPS 연결 문제

방금 ​​openSUSE 12.3을 설치하고 git를 설치했으며 https를 사용하여 내 repos 중 하나에 복제하려고했습니다. 이 다음 명령은 Ubuntu, Mac 및 다른 운영 체제에서 아무런 문제없이 작동하지만 수세에 문제가 있습니다.

나는 실행하면 :.

"나는 이미 사용할 수 sslverify을 가지고이는 다른 시스템에서 작동하는 방법이다 'myrepo'

로 복제 할 때이 정지

git clone https://[email protected]/git/myrepo.git 

나는이 믿지 않아요 sslverify 문제는 다른 컴퓨터에서 sslverify가 발생하지 않아 특정 오류 메시지가 표시되기 때문에이 경우에는 'Cloning into ...'메시지가 표시됩니다.

다음 명령을 실행하여 자세한 정보 :

GIT_CURL_VERBOSE=1 git clone https://[email protected]/git/myrepo.git 

그의 출력은 다음과 같습니다

Cloning into 'myrepo'... 
* Couldn't find host mysite.com in the .netrc file; using defaults 
* About to connect() to mysite.com port 443 (#0) 
* Trying x.x.x.x... 
* Connected to mysite.com (x.x.x.x) port 443 (#0) 
* Connected to mysite.com (x.x.x.x) port 443 (#0) 
* successfully set certificate verify locations: 
* CAfile: none 
    CApath: /etc/ssl/certs/ 
* Unknown SSL protocol error in connection to mysite.com:443 
* Closing connection #0 
error: Unknown SSL protocol error in connection to mysite.com:443 while accessing https://[email protected]/git/myrepo.git/info/refs?service=git-upload-pack 
fatal: HTTP request failed 

나는 분명히이 질문을 위해 사용자 이름, IP 및 DNS 이름을 바 꾸었습니다.

이전 버전의 컬링에 문제가 있다고 들었지만이 버전은 최신 버전 중 하나입니다. 우분투에서 libcurl의 버전은 실제로 나이가 들기 때문에 여전히 버그라고 생각하지 않지만 완전히 확신하지 못합니다. 나는 이것을 HTTPS에서 SSH로 바꿀 특권이 없기 때문에 대안이 아니다.

미리 감사드립니다.

+0

후속 조치로서 유효한 인증서가있는 repos로 복제 할 수 있습니다. 예를 들어 https를 통해 github repo를 복제했는데 정상적으로 작동합니다. 나는 복제해야 할 repo에 자체 서명 된 인증서가 있다는 것을 추가해야합니다. SSL 검증을 비활성화하면 다른 컴퓨터에서 속임수를 쓰지만 수세에서는 작동하지 않습니다. – saegeoff

+0

또한 서버에서 gitblit을 사용하고 있습니다. – saegeoff

답변

1

키가 SSL 라이브러리 (버전)이고 특히 libcurl 버전이 아닌 것 같습니다. OpenSSL을 사용하고있는 것처럼 보이기 때문에 해당 버전의 작동하지 않는 버전과 작동하지 않는 버전을 비교할 수 있습니다 ...

+0

SUSE 시스템의 OpenSSL 버전은 2013 년 2 월 11 일 1.0.1e입니다. 우분투 시스템을 확인한 결과 2012 년 3 월 1 일에 1.0.1이었습니다. 따라서 SUSE 버전은 실제로 새 버전입니다. – saegeoff