SSL 인증서 확인 오류로 인해 번들 설치가 실패함
가 행할때실을 할 때.bundle install
Centos 5.5의 Rails 3 프로젝트의 경우 다음 오류와 함께 실패합니다.
Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3
read server certificate B: certificate verify failed
(https://bb-m.rubygems.org/gems/multi_json-1.3.2.gem)
An error occured while installing multi_json (1.3.2), and Bundler cannot continue.
Make sure that `gem install multi_json -v '1.3.2'` succeeds before bundling.
보석을 수동으로 설치하려고 할 때(에 의해)gem install multi_json -v '1.3.2'
합니다. 효과가 있습니다.다른 여러 보석에서도 같은 문제가 발생합니다.는 RVM 1합니다. RVM(1.12.3), 비루 1.9.2, 번을 1.1.3을 사용합니다.
어떻게 고칠까요?
갱신하다
내가 이 대답에서 충분히 실수를 했으니, 모두가 이것이 고쳐졌어야 한다는 것을 알아야 합니다.
re: Ownatik을 통해 다시 번들 설치가 실패하고 SSL 인증서 확인 오류가 발생함
gem update --system
제 답변은 여전히 정확하며, 만약 그것이 당신에게 효과가 없다면 아래에 참고용으로 남겨두겠습니다.
솔직히 가장 좋은 임시 해결책은
[...] 임시 해결 방법으로 gem 파일에 있는 루비젬의 비SSL 버전을 사용합니다.
사용자 Ownatik을 통해
그들이 의미하는 것은 최고입니다.Gemfile
directory change 에▁in변경▁change▁applic레.
source 'https://rubygems.org'
로.
source 'http://rubygems.org'
두 번째 버전은 https 대신 http입니다.
임시 솔루션으로 ssl gem 소스를 non-ssl로 바꿉니다.
그 이유는 오래된 루비 보석 때문입니다.먼저 비SSL 소스를 사용하여 시스템 파트를 업데이트해야 합니다.
gem update --system --source http://rubygems.org/
(비SSL 연결을 사용하여 시스템 부품을 일시적으로 업데이트).
이제 사용할 준비가 되었습니다.gem update
.
Mac에서 최신 버전의 RVM(~1.20)을 사용하는 경우 다음과 같은 명령이 사용되었습니다.
rvm osx-ssl-certs update
이제 이 문제를 해결해야 합니다. 업데이트 (Rubygemsgem update --system
), openssl이 OS의 최신 버전인지 확인하거나 다음 팁을 사용해 보십시오. http://railsapps.github.com/openssl-certificate-verify-failed.html
임시 해결책(Ownatik이 언급한 바와 같이):
에 .합니다. 여기에는 .gemrc라는 됩니다.:ssl_verify_mode: 0
이렇게 하면 번들러가 보석의 SSL 인증서를 설치하려고 할 때 해당 인증서를 확인할 수 없습니다.
*기기의 경우 path는 *nix 장치경홈 '경로는의의'를 의미합니다.~/.gemrc
생할수있다니습을 만들 수도 ./etc/gemrc
XP의 ''는 Windows XP의 'home path를 의미합니다.c:\Documents and Settings\All Users\Application Data\gemrc
윈도우즈 7의 경우C:\ProgramData\gemrc
Windows 7에서 여기서 cacert.pem 파일을 다운로드하고 인증서를 저장하는 경로에 환경 변수 SSL_CERT_FILE을 설정할 수 있습니다.
SET SSL_CERT_FILE="C:\users\<username>\cacert.pem"
이렇게 도 있습니다.ENV['SSL_CERT_FILE']="C:/users/<username>/cacert.pem"
<username>을(를) 자신의 사용자 이름으로 바꿉니다.
RVM을 사용하는 경우 이 문제의 진정한 해결책은 다음과 같습니다.
- 업데이트: 루비보업데트이:
gem update --system
- 하여 SSL 새로 : RVM "SSL ":
rvm osx-ssl-certs update all
RailsApps 프로젝트에 대한 이 팁에 대한 모자 팁!
curl의 웹사이트 http://curl.haxx.se/ca/cacert.pem 에서 CA 인증서 목록을 다운로드할 수 있습니다.
그런 다음 SSL_CERT_FILE 환경변수를 설정하여 Ruby에게 사용하도록 지시합니다.예를 들어 Linux의 경우:
$ SSL_CERT_FILE=~/cacert.pem bundle install
(참조: https://gist.github.com/fnichol/867550)
RVM을 통해 루비를 설치하고 빠른 수정(브루노의 요청에 따라 읽지 않는 것을 선호함)을 원하는 사용자는 다음을 시도하십시오.
rvm remove 1.9.x (or whatever version of ruby you are using)
rvm pkg install openssl
rvm install 1.9.2 --with-openssl-dir=$rvm_path/usr
자세한 내용은 솔루션을 찾은 링크를 참조하십시오.
http://railsapps.github.com/openssl-certificate-verify-failed.html
그나저나 Ubuntu에서 인증서를 만질 필요가 없었습니다.
무엇보다도, 이것은 해결책이 아닙니다.그것은 SSL을 통해 보석을 다운로드하고 중간 공격에서 남자와 같은 문제가 발생하면 실패할 것이며, 보안을 해제하는 것보다 훨씬 더 좋습니다.
수정되었습니다.
http://guides.rubygems.org/ssl-certificate-update/
이제 RubyGems 2.6.x가 출시되었으므로 이 버전으로 수동으로 업데이트할 수 있습니다.
https://rubygems.org/downloads/rubygems-update-2.6.7.gem 다운로드
나중에 참조할 수 있는 디렉터리(예: 하드 드라이브 C: 루트)에 있는 파일을 다운로드하십시오.
이제 명령 프롬프트 사용:
C:\>gem install --local C:\rubygems-update-2.6.7.gem
C:\>update_rubygems --no-ri --no-rdoc
이후 gem --version이 새 업데이트 버전을 보고해야 합니다.
이제 루비젬 업데이트 보석을 안전하게 제거할 수 있습니다.
C:\>gem uninstall rubygems-update -x
.pem 파일에 대한 간단한 복사 붙여넣기 지침
https://gist.github.com/luislavena/f064211759ee0f806c88
인증서 확인 실패
만약 당신이 이전 섹션을 읽었다면, 당신은 이것이 무엇을 의미하는지 알게 될 것입니다 (만약 당신이 읽지 않았다면 > 수치심을 느낄 것입니다).
AddTrustExternalCARoot-2048.pem을 다운로드해야 합니다.명령 프롬프트를 열고 다음을 입력합니다.
C:>Rubygems C:/Ruby21/lib/ruby/2.1.0/rubygems.rb의 gems 디렉토리를 찾아보겠습니다.동일한 창에서 파일 확장명까지의 경로 부분을 입력하고 대신 백슬래시를 사용합니다.
C:>시작 C:\Ruby21\lib\ruby\2.1.0\rubygems 우리가 지정한 디렉터리 안에 탐색기 창이 열립니다.
3단계: 새 신뢰 인증서 복사
이제 ssl_certs 디렉토리를 찾아 이전 단계에서 가져온 .pem 파일을 내부에 복사합니다.
GeoTrustGlobalCA.pem과 같은 다른 파일과 함께 나열됩니다.
같은 문제지만 여기 다른 보석이 있습니다.
Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3
read server certificate B: certificate verify failed
(https://bb-m.rubygems.org/gems/builder-3.0.0.gem)
An error occured while installing builder (3.0.0), and Bundler cannot continue.
Make sure that `gem install builder -v '3.0.0'` succeeds before bundling.
해결책: 임시해결:gem install builder -v '3.0.0'
할 수 .bundle install
가장 간단한 해결책:
rvm pkg install openssl
rvm reinstall all --force
Voila!
다음은 Windows에서 이 문제를 해결하는 방법입니다.
.perm 파일을 다운로드한 다음 명령 프롬프트에서 SSL_CERT_FILE을 설정합니다.
https://gist.github.com/fnichol/867550
Windows에 대한 영구 수정:
CACert를 다운로드하여 다음과 같이 저장합니다.
C:\ruby\ssl_certs\GlobalSignRootCA.pem
http://guides.rubygems.org/ssl-certificate-update/ 에서"SSL_CERT_FILE"이라는 이름의 시스템 변수를 만듭니다.
C:\ruby\ssl_certs\GlobalSignRootCA.pem
.시도: 다시시:
gem install bundler
:
C:\gem sources *** CURRENT SOURCES *** https://rubygems.org/ C:\gem install bundler Fetching: bundler-1.13.5.gem (100%) Successfully installed bundler-1.13.5 1 gem installed
Ubuntu 12.04에서 관련이 있을 수 있지만 약간 다른 오류가 발생합니다.
Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=unknown state: sslv3 alert handshake failure (https://d2chzxaqi4y7f8.cloudfront.net/gems/activesupport-3.2.3.gem)
An error occured while installing activesupport (3.2.3), and Bundler cannot continue.
Make sure that `gem install activesupport -v '3.2.3'` succeeds before bundling.
내가 달릴 때 그런 일이 벌어집니다.bundle install
와 함께source 'https://rubygems.org'
일렬 종대로
이는 Ubuntu 12.04의 OpenSSL 문제입니다.루비젬 319호 참조.
이 문제를 해결하려면 실행apt-get update && apt-get upgrade
Ubuntu 12.04에서 OpenSSL을 업그레이드할 수 있습니다.
저는 이 사실을 추적할 수 있었고 그 바이너리들은rvm
다운로드는 오래되어 OS에서 더 이상 사용하지 않는 OS X의 OpenSSL에서 제대로 작동하지 않습니다.
할 때 강제로 컴파일하는 것이었습니다.rvm
:
rvm reinstall --disable-binary 2.2
Thx에서 @Alexander까지.일주슈킨의 용도:
gem update --system --source http://rubygems.org/
번들러가 여전히 실패한 후 이에 대한 해결책은 다음과 같습니다.
gem install bundler
비슷한 오류가 발생했습니다.이 문제를 해결한 방법은 다음과 같습니다.경로 디렉토리에서 Gemfile을 확인합니다.gem 파일의 소스를 https 대신 http로 편집하여 저장합니다.SSL 인증서 문제 없이 번들러를 설치할 수 있습니다.l
Windows 시스템의 경우 다음을 사용하여 Gem 버전을 확인합니다.
gem --version
그런 다음 다음과 같이 보석을 업데이트합니다.
- 1.8.x 실행: 1.8.30 다운로드
- 2.0.x 실행: 2.0.15 다운로드
- 2.2.x 실행: 2.2.3 다운로드
나중에 참조할 수 있는 디렉터리(예: 하드 드라이브 C: 루트)에 있는 파일을 다운로드하십시오.
이제 명령 프롬프트 사용:
C:\>gem install --local C:\rubygems-update-1.8.30.gem
C:\>update_rubygems --no-ri --no-rdoc
이제 SSL 인증서 확인 오류 없이 번들 설치가 성공합니다.
더 자세한 지침은 여기에 있습니다.
이것은 저에게 효과가 있었습니다.
- https://rubygems.org/pages/download 에서 최신 보석을 다운로드하세요.
- 을
gem install --local [path to downloaded gem file]
- 으로 보석을 업데이트합니다.
update_rubygems
- 최신 보석 버전에 있는지 확인합니다.
gem --version
openssl을 다시 설치해야 했습니다.
brew uninstall --force openssl
brew install openssl
저는 최근에 이 문제에 직면했고 여기에 요약된 단계를 따랐습니다.올바른 OpenSSL 인증서를 가리키고 있지 않을 수 있습니다.실행 후:
rvm osx-ssl-certs status all
rvm osx-ssl-certs update all
그리고.
export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
번들이 완료되었습니다!
rubygems-update-2.6.7.gem을 다운로드합니다.
이제 명령 프롬프트 사용:
C:\>gem install --local C:\rubygems-update-2.6.7.gem
C:\>update_rubygems --no-ri --no-rdoc
이 일이 있은 후에.gem --version
새 업데이트 버전을 보고해야 합니다.
이제 루비젬 업데이트 보석을 안전하게 제거할 수 있습니다.
C:\>gem uninstall rubygems-update -x
Removing update_rubygems
Successfully uninstalled rubygems-update-2.6.7
내부 인증 기관에서 SSL 인증서를 신뢰하는 소스에서 보석을 가져오는 경우(또는 SSL 검사를 통해 회사 웹 프록시를 통해 외부 소스에 연결하는 경우) SSL_CERT_FILE 환경 변수를 인증서 체인에 가리킵니다.이렇게 하려면 인증서 저장소(macOS의 시스템 키 체인)에서 셸에서 액세스할 수 있는 위치로 루트 인증서를 내보내는 작업만 수행하면 됩니다.
export SSL_CERT_FILE=~/RootCert.pem
사용 중인 경우rails-assets
사용 중인 경우https://rails-assets.org/
자산을 관리하기 위해 어떤 답변도 도움이 되지 않습니다.로 변환하는 경우에도http
도움이 안 됩니다.
가장 간단한 해결책은 이 소스를 대신 사용하는 것입니다.http://insecure.rails-assets.org
이것은 그들의 홈페이지에 언급되어 있습니다.
레거시 윈도우 시스템과 루비 1.9 버전에서 제게 효과가 있었던 유일한 것은 http://guides.rubygems.org/ssl-certificate-update/ 에서 카페트 파일을 다운로드하는 것입니다.
번들 설치를 실행하기 전에 아래 명령을 실행합니다.
bundle config --global ssl_ca_cert /path/to/file.pem
언급URL : https://stackoverflow.com/questions/10246023/bundle-install-fails-with-ssl-certificate-verification-error
'programing' 카테고리의 다른 글
여러 모니터에서 Eclipse 환경을 구성하는 방법에 대한 팁이 있습니까? (0) | 2023.06.04 |
---|---|
시스템 오류: 상위 모듈 '이(가) 로드되지 않았습니다. 상대 가져오기를 수행할 수 없습니다. (0) | 2023.06.04 |
Xcode 4.2 - '...' 선언은 이 기능 경고 이외에는 표시되지 않습니다. (0) | 2023.06.04 |
활성 레코드: 크기 대 개수 (0) | 2023.06.04 |
Postgre에서 테이블의 행 수를 빠르게 검색하는 방법SQL (0) | 2023.05.25 |