ruby on rails - বান্ডিল ইনস্টল SSL শংসাপত্র যাচাই ত্রুটি সহ ব্যর্থ হয়



ruby-on-rails rubygems (19)

আপনি rails-assets ব্যবহার করছেন

আপনি যদি আপনার সম্পদ পরিচালনা করতে https://rails-assets.org/ ব্যবহার করেন তবে কোনও উত্তর আপনাকে সাহায্য করবে না। এমনকি http রূপান্তর এমনকি সাহায্য করবে না।

সর্বাধিক সংশোধন পরিবর্তে এই উৎসটি ব্যবহার করছে, http://insecure.rails-assets.org । এই তাদের homepage উল্লেখ করা হয়েছে।

https://src-bin.com

যখন আমি 5.5 সেন্টলে আমার Rails 3 প্রজেক্টের জন্য bundle install করি তখন এটি একটি ত্রুটি সহ ব্যর্থ হয়:

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.12.3), রুবি 1.9.2, বান্ডলার 1.1.3 ব্যবহার করি।

কিভাবে ঠিক হবে এটা?


Answer #1

.Pem ফাইল সম্পর্কে এখানে দেওয়া সহজ কপি পেস্ট নির্দেশ

https://gist.github.com/luislavena/f064211759ee0f806c88

সার্টিফিকেট যাচাইকরণ ব্যর্থ হয়েছে

যদি আপনি পূর্ববর্তী বিভাগগুলি পড়ে থাকেন তবে আপনি কী বুঝবেন তা জানতে পারবেন (এবং আপনার যদি লজ্জা না থাকে তবে)।

আমাদের AddTrustExternalCARoot-2048.pem ডাউনলোড করতে হবে। একটি কমান্ড প্রম্পট খুলুন এবং টাইপ করুন:

C:> মণি যা rubygems C: /Ruby21/lib/ruby/2.1.0/rubygems.rb এখন, যে ডিরেক্টরি সনাক্ত করা যাক। একই উইন্ডোতে থেকে, ফাইল এক্সটেনশন পর্যন্ত পাথ অংশটি প্রবেশ করুন, তবে পরিবর্তে ব্যাকস্ল্যাশ ব্যবহার করে:

C:> C শুরু করুন: \ রুবি 21 \ lib \ ruby ​​\ 2.1.0 \ rubygems এটি আমরা নির্দেশিত ডিরেক্টরির ভিতরে একটি এক্সপ্লোরার উইন্ডো খুলবে।

পদক্ষেপ 3: নতুন ট্রাস্ট সার্টিফিকেট অনুলিপি করুন

এখন, ssl_certs ডিরেক্টরিটি সনাক্ত করুন এবং ভিতরে পূর্ববর্তী ধাপ থেকে প্রাপ্ত .pem ফাইলটি অনুলিপি করুন।

এটি GeoTrustGlobalCA.pem অন্যান্য ফাইলের সাথে তালিকাভুক্ত করা হবে।


Answer #2

আপনার জন্য যাদের রুবিটি 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

বিটিডব্লিউ, উবুন্টুতে আমার সার্টিফিকেট স্পর্শ করতে হয়নি।

সব থেকে ভাল, এই একটি কাজকর্ম নয়। এটি এসএসএসের মাধ্যমে রত্ন ডাউনলোড করবে এবং যদি মধ্যম আক্রমনের মতো কোনও সমস্যা থাকে তবে এটি কেবল ব্যর্থ হয়ে যায় যা নিরাপত্তা বন্ধ করার চেয়ে অনেক ভাল।


Answer #3

আপনি here এ কার্লের ওয়েবসাইট থেকে CA সার্টিফিকেটগুলির একটি তালিকা ডাউনলোড করতে পারেন।

তারপরে রুবিকে এটি ব্যবহারের জন্য SSL_CERT_FILE এনভায়রনমেন্ট ভেরিয়েবল সেট করুন। উদাহরণস্বরূপ, লিনাক্সে:

$ SSL_CERT_FILE=~/cacert.pem bundle install

(রেফারেন্স: https://gist.github.com/fnichol/867550 )


Answer #4

আমি openssl পুনরায় ইনস্টল করার ছিল:

brew uninstall --force openssl
brew install openssl

Answer #5

আমি একটি অনুরূপ ত্রুটি পেয়েছিলাম। এখানে আমি কিভাবে এটি সমাধান করেছি: আপনার পাথ ডিরেক্টরিতে, Gemfile এর জন্য চেক করুন। Https এর পরিবর্তে HTTP এ জেমফাইলের উৎসটি সম্পাদনা করুন এবং এটি সংরক্ষণ করুন। এটি SSL শংসাপত্র issue.l ছাড়া বান্ডলার ইনস্টল করতে পারে


Answer #6

আমি সম্প্রতি এই সমস্যাটি মোকাবেলা করেছি এবং here বর্ণিত পদক্ষেপগুলি অনুসরণ করেছি। আপনি ওপেনএসএল সার্টিফিকেটের দিকে নির্দেশ দিচ্ছেন না এমন একটি সুযোগ থাকতে পারে। চলমান পরে:

rvm osx-ssl-certs status all
rvm osx-ssl-certs update all

এবং

export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt

বান্ডেল সম্পূর্ণ রান!


Answer #7

উইন্ডোজ 7 এ আপনি cacert.pem ফাইলটি here থেকে ডাউনলোড করতে পারেন এবং এনভায়রনমেন্টভেরেবল SSL_CERT_FILE সেট করুন যেখানে আপনি সার্টিফিকেট সংরক্ষণ করবেন।

SET SSL_CERT_FILE="C:\users\<username>\cacert.pem"

অথবা আপনি আপনার স্ক্রিপ্টে এই ENV['SSL_CERT_FILE']="C:/users/<username>/cacert.pem" মত পরিবর্তনশীল সেট করতে পারেন।

<Username> আপনার ব্যবহারকারী নাম দিয়ে প্রতিস্থাপন করুন।


Answer #8

উইন্ডোজ মেশিনের জন্য, আপনার মোম সংস্করণটি চেক করুন

gem --version

তারপর অনুসরণ হিসাবে আপনার মণি আপডেট করুন:

আপনি যে ফাইলটি পরে নির্দেশ করতে পারেন তাতে ফাইলটি ডাউনলোড করুন (উদাহরণস্বরূপ আপনার হার্ড ড্রাইভের root C :)

এখন, আপনার কমান্ড প্রম্পট ব্যবহার করে:

C:\>gem install --local C:\rubygems-update-1.8.30.gem
C:\>update_rubygems --no-ri --no-rdoc

এখন, বান্ডিল ইনস্টল SSL সার্টিফিকেট যাচাই ত্রুটি ছাড়া সাফল্য হবে।

আরো বিস্তারিত নির্দেশ https://gist.github.com/luislavena/f064211759ee0f806c88


Answer #9

উইন্ডোজের জন্য আমার স্থায়ী সমাধান:

  1. CACert ডাউনলোড করুন, C:\ruby\ssl_certs\GlobalSignRootCA.pem হিসাবে সংরক্ষণ করুন guides.rubygems.org/ssl-certificate-update থেকে

  2. " SSL_CERT_FILE " নামের সিস্টেম পরিবর্তনশীল তৈরি করুন, C:\ruby\ssl_certs\GlobalSignRootCA.pem

  3. আবার চেষ্টা করুন: 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

Answer #10

উল্লেখ্য, যদি আপনি কোনও উৎস থেকে রত্নগুলি দখল করেন তবে SSL সনদটি একটি অভ্যন্তরীণ শংসাপত্র কর্তৃপক্ষের দ্বারা বিশ্বস্ত হয় (অথবা আপনি SSL পরিদর্শন সহ কোনও সংস্থার ওয়েব প্রক্সির মাধ্যমে বাইরের উত্সের সাথে সংযোগ করছেন), আপনার SSL_CERT_FILE env পরিবর্তনশীলকে আপনার শংসাপত্র শৃঙ্খলে নির্দেশ করুন । এটি সম্ভবত আপনার শেল থেকে অ্যাক্সেসযোগ্য অবস্থান থেকে আপনার শংসাপত্রের দোকান (ম্যাকোএস সিস্টেমে কীচেন) থেকে আপনার রুট শংসাপত্র রপ্তানি করার প্রয়োজন হয়:

export SSL_CERT_FILE=~/RootCert.pem

Answer #11

এই সংশোধন করা হয়েছে

guides.rubygems.org/ssl-certificate-update

এখন RubyGems 2.6.x প্রকাশ করা হয়েছে, আপনি নিজে এই সংস্করণে আপডেট করতে পারেন।

https://rubygems.org/downloads/rubygems-update-2.6.7.gem ডাউনলোড করুন

আপনি যে ফাইলটি পরে নির্দেশ করতে পারেন তাতে ফাইলটি ডাউনলোড করুন (উদাহরণস্বরূপ আপনার হার্ডড্রাইভ C এর root)

এখন, আপনার কমান্ড প্রম্পট ব্যবহার করে:

C:\>gem install --local C:\rubygems-update-2.6.7.gem
C:\>update_rubygems --no-ri --no-rdoc

এই পরে, মণি - সংস্করণ নতুন আপডেট সংস্করণ রিপোর্ট করা উচিত।

আপনি এখন নিরাপদভাবে rubygems- আপডেট মণি আনইনস্টল করতে পারেন:

C:\>gem uninstall rubygems-update -x

Answer #12

এই সমস্যাটির আসল সমাধান, যদি আপনি RVM ব্যবহার করছেন:

  1. আপডেট Rubygems: মোম gem update --system সিস্টেম
  2. SSL rvm osx-ssl-certs update all রিফ্রেশ করতে RVM ব্যবহার করুন: rvm osx-ssl-certs update all

RailsApps প্রকল্পে এই টিপের হ্যাট টিপ!


Answer #13

একই সমস্যা কিন্তু এখানে বিভিন্ন মণি সঙ্গে:

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 চালিয়ে যেতে bundle install


Answer #14

এসএসএল মীম উৎসটি অ-এসএসএল সহ একটি স্থায়ী সমাধান হিসাবে প্রতিস্থাপন করুন:


Answer #15

কারণ পুরাতন rubygems হয়। প্রথমে এসএসএস সোর্স ব্যবহার করে আপনাকে সিস্টেম অংশ আপডেট করতে হবে:

gem update --system --source http://rubygems.org/ সিস্টেম gem update --system --source http://rubygems.org/ (অ-এসএসএল সংযোগ ব্যবহার করে সাময়িকভাবে সিস্টেম অংশ আপডেট করা)।

এখন আপনি gem update ব্যবহার করতে প্রস্তুত।


Answer #16

লিগ্যাসি উইন্ডোজ সিস্টেম এবং রুবি 1.9 সংস্করণে আমার জন্য কাজ করা একমাত্র জিনিস guides.rubygems.org/ssl-certificate-update থেকে cacert ফাইল ডাউনলোড করছে

এবং তারপর বান্ডেল ইনস্টল চলমান আগে কমান্ড নিচে চলমান

bundle config --global ssl_ca_cert /path/to/file.pem

Answer #17

সহজ সমাধান:

rvm pkg install openssl
rvm reinstall all --force

ভাল খবর!


Answer #18

হালনাগাদ

এখন আমি এই উত্তর থেকে যথেষ্ট পরিমাণে খাঁটি কাজ করেছি। প্রত্যেকেরই জানা উচিত যে এই সংশোধন করা উচিত।

আবার: মালিকানা আবার মাধ্যমে বান্ডিল ইনস্টল SSL সার্টিফিকেট যাচাই ত্রুটি সঙ্গে ব্যর্থ হয়

gem update --system

আমার উত্তরটি এখনও আপনার পক্ষে কাজ না করে যদি রেফারেন্সের জন্য সঠিক এবং নীচে বামে থাকে।

আন্তরিকভাবে সেরা অস্থায়ী সমাধান হয়

[...] একটি অস্থায়ী workaround হিসাবে আপনার gemfile মধ্যে Rubygems এর অ-এসএসএল সংস্করণ ব্যবহার করুন।

ব্যবহারকারী মালিক মাধ্যমে

তারা মানে আপনার Gemfile অ্যাপ্লিকেশন ডিরেক্টরি পরিবর্তন Gemfile শীর্ষে

source 'https://rubygems.org'

থেকে

source 'http://rubygems.org'

মনে রাখবেন যে দ্বিতীয় সংস্করণ http এর পরিবর্তে http





bundler