2011-12-27 6 views
9

HTTPS 액세스 권한이있는 원격 저장소가 있습니다. 하나 개의 항목 만힘내 : HTTP 요청이 실패했습니다.

git status 목록 : 마스터

git remote -v 목록 같은 주소로 두 항목 : 가져 오기위한 하나, 푸시

하나 그러나 내가 할 git remote show origin, 또는 다른 작업 fetch처럼, 내가 얻을를 :

error: while accessing https:... 
fatal: HTTP request failed 

내가 프록시 뒤에 오전,하지만 그것이 (= 더 sslVerify를) 내 .gitconfig에 설정하고 복제가 OK이다, 나는 문제가에서 온다 생각하지 않습니다.

하지만 내 OS (CentOS)가 재설치되었습니다. .

내가 HTTP_PROXY 환경 변수 (Windows에서 힘내 배쉬)에서 HTTP 프록시를 설정,하지만 내 % HOME %의 /에 프록시를 설정했다
+0

'git remote -v'URL의 처음 6자를 원본 인 esp와 공유 할 수 있습니까? 사용 된 프로토콜 - http, https, ssh 또는 git? –

답변

3

일 gitconfig :

[http] 
    proxy = http://USERNAME:[email protected]:PORT 
+1

환경 변수는 대소 문자를 구별하며'http_proxy'로 올바르게 대문자로되어 있습니다. (일부 소프트웨어는 당연히 둘 다 처리하지만 일부는 그렇지 않습니다!) –

25

당신이 https:를 사용하는 경우 복제본에 git:이 아니라 CA 인증서에 바코드가있을 수 있습니다. 즉, SSL 인증서를 확인하기위한 중간 인증서 사본이 없습니다. 나는 여러 가지 다른 경우에 이것에 들어갔다. 보통 데비안 기반의 리눅스 배포판. 시도해보십시오.

git config --global http.sslVerify false 

그리고 나서 다시 복제하십시오. 클론이 작동하면 그 일이 일어납니다. 그러나 이것은 나쁜 해결책입니다. 물론 SSL 검증을 끄기 때문에 HTTPS를 사용하는 것이 무의미 해지며 중간자 공격에 취약하게됩니다. 다음

apt-get install ca-certificates 

git config --global http.sslVerify true 
git config --global http.sslCAinfo /etc/ssl/certs/ca-certificates.crt 
같은 당신이해야 할 일은

리눅스에서, 당신은에있어 어떤 OS 용 CA 인증서 패키지를 다운로드 할 것입니다 (물론 데비안/우분투) 아마있을거야 뭔가

OS 버전에 따라 인증서 파일 경로가 다를 수 있지만

이렇게하면 작동합니다.

+1

FYI이 답변은 BeagleBone 임베디드 리눅스에서 작동합니다. –

+0

Beaglebone에서해야 할 다른 일은 ntp를 활성화하는 것입니다. Angstrom Linux는 ntp가 설치되지 않은 상태로 배송되며 Beaglebone에는 배터리 백업 시계가 없습니다. 즉 2000 년 1 월 1 일에 부팅 할 때 날짜가 설정됩니다.SSL 인증서를 무효화하는 것을 포함하여 모든 종류의 문제가 발생합니다. –

0

나는 같은 오류가 있지만 나머지 대답에서 언급 한 것 외에 다른 문제가 있습니다. 나는 리눅스에 저장소를 복제하려고했다 : 잘못된 사용 권한이 폴더에 있기 때문에

git clone http://xxx/scm/xxx/xxx.git 
Initialized empty Git repository in /opt/git/xxx/.git/ 
Password: 
error: Failed connect to xxx:80; Operation now in progress while accessing http://xxx.git/info/refs 

fatal: HTTP request failed 

그것은 모든했다 - 대신 일부 권한 오류의 자식은 HTTP 요청이 실패가 발생합니다. 그래서 누군가가 비슷한 문제를 겪게된다면 폴더 사용 권한을 확인하십시오!

관련 문제