Ruby on rails RubyonRails:安装捆绑包时验证SSL证书的问题

Ruby on rails RubyonRails:安装捆绑包时验证SSL证书的问题,ruby-on-rails,ssl,ssl-certificate,Ruby On Rails,Ssl,Ssl Certificate,我是RubyonRails新手,在使用这个命令创建我的第一个项目时,我遇到了这个错误 run bundle install Fetching source index from https://rubygems.org/ Retrying fetcher due to error (2/4): Bundler::Fetcher::CertificateFailureError Could not verify the SSL certificate for https://rubygems.

我是RubyonRails新手,在使用这个命令创建我的第一个项目时,我遇到了这个错误

run  bundle install
Fetching source index from https://rubygems.org/

Retrying fetcher due to error (2/4): Bundler::Fetcher::CertificateFailureError Could not verify the SSL certificate for https://rubygems.org/.
There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn't have the CA certificates needed for verification. For information about OpenSSL certificates, see .... To connect without using SSL, edit your Gemfile sources and change 'https' to 'http'.
Retrying fetcher due to error (3/4): Bundler::Fetcher::CertificateFailureError Could not verify the SSL certificate for https://rubygems.org/.
There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn't have the CA certificates needed for verification. For information about OpenSSL certificates, see .... To connect without using SSL, edit your Gemfile sources and change 'https' to 'http'.
Retrying fetcher due to error (4/4): Bundler::Fetcher::CertificateFailureError Could not verify the SSL certificate for https://rubygems.org/.
There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn't have the CA certificates needed for verification. For information about OpenSSL certificates, see .... To connect without using SSL, edit your Gemfile sources and change 'https' to 'http'.Could not verify the SSL certificate for https://rubygems.org/.
There is a chance you are experiencing a man-in-the-middle attack, but most
likely your system doesn't have the CA certificates needed for verification. For
information about OpenSSL certificates, see ...
我尝试在Gemfile中将https更改为http,并仅执行
捆绑安装
,但问题没有解决。此时将显示以下消息:

Fetching gem metadata from http://rubygems.org/.
Retrying dependency api due to error (2/4): Bundler::Fetcher::CertificateFailureError Could not verify the SSL certificate for https://index.rubygems.org/api/v1/dependencies?gems=rails%2Csqlite3%2Cpuma%2Csass-rails%2Cuglifier%2Ccoffee-rails%2Cjquery-rails%2Cturbolinks%2Cjbuilder%2Cbyebug%2Cweb-console%2Ctzinfo-data.
There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn't have the CA certificates needed for verification. For information about OpenSSL certificates, see .... To connect without using SSL, edit your Gemfile sources and change 'https' to 'http'.
Retrying dependency api due to error (3/4): Bundler::Fetcher::CertificateFailureError Could not verify the SSL certificate for https://index.rubygems.org/api/v1/dependencies?gems=rails%2Csqlite3%2Cpuma%2Csass-rails%2Cuglifier%2Ccoffee-rails%2Cjquery-rails%2Cturbolinks%2Cjbuilder%2Cbyebug%2Cweb-console%2Ctzinfo-data.
There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn't have the CA certificates needed for verification. For information about OpenSSL certificates, see .... To connect without using SSL, edit your Gemfile sources and change 'https' to 'http'.
Retrying dependency api due to error (4/4): Bundler::Fetcher::CertificateFailureError Could not verify the SSL certificate for https://index.rubygems.org/api/v1/dependencies?gems=rails%2Csqlite3%2Cpuma%2Csass-rails%2Cuglifier%2Ccoffee-rails%2Cjquery-rails%2Cturbolinks%2Cjbuilder%2Cbyebug%2Cweb-console%2Ctzinfo-data.
There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn't have the CA certificates needed for verification. For information about OpenSSL certificates, see .... To connect without using SSL, edit your Gemfile sources and change 'https' to 'http'.

你的问题是在我用谷歌搜索同一问题的答案时提出来的。我刚刚创建了一个新的rails项目,它给出了一个错误

      remove  config/initializers/new_framework_defaults_5_1.rb
         run  bundle install
Fetching source index from https://rubygems.org/

Retrying fetcher due to error (2/4): Bundler::Fetcher::CertificateFailureError Could not verify the SSL certificate for https://rubygems.o
There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn't have the CA certificates needed forormation about OpenSSL certificates, see bitlylink. To connect without using SSL, edit your Gemfile sources and change 'https
Retrying fetcher due to error (3/4): Bundler::Fetcher::CertificateFailureError Could not verify the SSL certificate for https://rubygems.o
There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn't have the CA certificates needed forormation about OpenSSL certificates, see bitlylink. To connect without using SSL, edit your Gemfile sources and change 'https
Retrying fetcher due to error (4/4): Bundler::Fetcher::CertificateFailureError Could not verify the SSL certificate for https://rubygems.o
There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn't have the CA certificates needed forormation about OpenSSL certificates, see bitlylink. To connect without using SSL, edit your Gemfile sources and change 'https
Could not verify the SSL certificate for https://rubygems.org/.
There is a chance you are experiencing a man-in-the-middle attack, but most
likely your system doesn't have the CA certificates needed for verification. For
information about OpenSSL certificates, see bitlylink. To connect
without using SSL, edit your Gemfile sources and change 'https' to 'http'.
希望你能解决你的问题,但我想我会为自己描述解决问题的步骤,以防其他人也有同样的问题

此解决方案适用于Windows 10、Ruby 2.3.3、Rails 5.1和Git Bash

我遵循这个指南。

希望在本指南中更新SSL证书问题的任何未来更改和解决方案

首先。编辑文件并更改

source 'https://rubygems.org' 

根本不起作用

因此,根据指南:

第一步。跑

curl -Lks 'https://git.io/rg-ssl' | ruby
这只是告诉我,我无法通过SSL连接,因此没有特别的帮助

第二步。更新绑定器

gem install bundler
ERROR:  Could not find a valid gem 'bundler' (>= 0), here is why:
          Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=error: certificate verify failed (httppecs.4.8.gz)
由于SSL错误,此操作也失败

第三步。更新Rubygems

gem update --system
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    SSL_connect returned=1 errno=0 state=error: certificate verify failed (https://api.rubygems.org/specs.4.8.gz)
这也失败了

第四步。更新系统时钟。 是的,不,我在windows上,所以不要这样做


从这里开始着手解决问题:

第五步。更新CA证书。导游要我下载一个证书文件

Download the .pem file from this link:  GlobalSignRootCA.pem
使用实际指南查找证书的最新链接。我下载证书文件

Download the .pem file from this link:  GlobalSignRootCA.pem
步骤5.1。在安装中查找RubyGems证书目录

gem which rubygems
对我来说,目录是“C:\RailsInstaller\Ruby2.3.3\lib\ruby\2.3.0\rubygems\ssl\U certs”

步骤5.2。我将GlobalSignRootCA_R3.pem文件复制到此目录中

做了这件事之后,我应该按照指南去做

按照顶部的说明自动更新RubyGems

步骤5.3。因此,在我运行的目录中使用证书文件

gem update --system
ERROR:  Interrupted
Updating rubygems-update
Successfully installed rubygems-update-3.2.15
Parsing documentation for rubygems-update-3.2.15
Installing ri documentation for rubygems-update-3.2.15
这需要永远没有任何用户反馈,所以我中断终端。但它似乎一直在做一些工作

步骤5.4。然后我尝试运行bundle安装来下载和安装依赖项

bundle install
Fetching source index from https://rubygems.org/
Resolving dependencies...
Could not verify the SSL certificate for
https://rubygems.org/quick/Marshal.4.8/rails-5.1.7.gemspec.rz.
There is a chance you are experiencing a man-in-the-middle attack, but most
likely your system doesn't have the CA certificates needed for verification. For
information about OpenSSL certificates, see a bitly link. To connect
without using SSL, edit your Gemfile sources and change 'https' to 'http'.
但我仍然得到一些SSL证书错误

步骤5.5。然而,指南特别提到bundler本身应该更新。所以我是用

gem install bundler
Successfully installed bundler-2.2.15
Parsing documentation for bundler-2.2.15
Installing ri documentation for bundler-2.2.15
Done installing documentation for bundler after 21 seconds
1 gem installed
和绑定器更新成功

步骤5.6。最后,我再次运行bundle安装,它现在开始下载和安装依赖项,没有任何ssl错误

bundle install
Fetching gem metadata from https://rubygems.org/.............
Resolving dependencies......
Fetching rake 13.0.3
Installing rake 13.0.3
Fetching concurrent-ruby 1.1.8
Installing concurrent-ruby 1.1.8
Fetching i18n 1.8.9
Installing i18n 1.8.9
Fetching minitest 5.14.4
Installing minitest 5.14.4
Using thread_safe 0.3.6
Fetching tzinfo 1.2.9
... and so on
额外:安装时出现sqlite3错误,已通过此处找到的信息解决

毕竟。它正在运行

$ rails server
   => Booting Puma
   => Rails 5.1.7 application starting in development
   => Run `rails server -h` for more startup options
   *** SIGUSR2 not implemented, signal based restart unavailable!
   *** SIGUSR1 not implemented, signal based restart unavailable!
   *** SIGHUP not implemented, signal based logs reopening unavailable!
   Puma starting in single mode...
   * Version 3.12.6 (ruby 2.3.3-p222), codename: Llamas in Pajamas
   * Min threads: 5, max threads: 5
   * Environment: development
   * Listening on tcp://localhost:3000

你的问题是在我用谷歌搜索同一问题的答案时提出来的。我刚刚创建了一个新的rails项目,它给出了一个错误

      remove  config/initializers/new_framework_defaults_5_1.rb
         run  bundle install
Fetching source index from https://rubygems.org/

Retrying fetcher due to error (2/4): Bundler::Fetcher::CertificateFailureError Could not verify the SSL certificate for https://rubygems.o
There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn't have the CA certificates needed forormation about OpenSSL certificates, see bitlylink. To connect without using SSL, edit your Gemfile sources and change 'https
Retrying fetcher due to error (3/4): Bundler::Fetcher::CertificateFailureError Could not verify the SSL certificate for https://rubygems.o
There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn't have the CA certificates needed forormation about OpenSSL certificates, see bitlylink. To connect without using SSL, edit your Gemfile sources and change 'https
Retrying fetcher due to error (4/4): Bundler::Fetcher::CertificateFailureError Could not verify the SSL certificate for https://rubygems.o
There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn't have the CA certificates needed forormation about OpenSSL certificates, see bitlylink. To connect without using SSL, edit your Gemfile sources and change 'https
Could not verify the SSL certificate for https://rubygems.org/.
There is a chance you are experiencing a man-in-the-middle attack, but most
likely your system doesn't have the CA certificates needed for verification. For
information about OpenSSL certificates, see bitlylink. To connect
without using SSL, edit your Gemfile sources and change 'https' to 'http'.
希望你能解决你的问题,但我想我会为自己描述解决问题的步骤,以防其他人也有同样的问题

此解决方案适用于Windows 10、Ruby 2.3.3、Rails 5.1和Git Bash

我遵循这个指南。

希望在本指南中更新SSL证书问题的任何未来更改和解决方案

首先。编辑文件并更改

source 'https://rubygems.org' 

根本不起作用

因此,根据指南:

第一步。跑

curl -Lks 'https://git.io/rg-ssl' | ruby
这只是告诉我,我无法通过SSL连接,因此没有特别的帮助

第二步。更新绑定器

gem install bundler
ERROR:  Could not find a valid gem 'bundler' (>= 0), here is why:
          Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=error: certificate verify failed (httppecs.4.8.gz)
由于SSL错误,此操作也失败

第三步。更新Rubygems

gem update --system
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    SSL_connect returned=1 errno=0 state=error: certificate verify failed (https://api.rubygems.org/specs.4.8.gz)
这也失败了

第四步。更新系统时钟。 是的,不,我在windows上,所以不要这样做


从这里开始着手解决问题:

第五步。更新CA证书。导游要我下载一个证书文件

Download the .pem file from this link:  GlobalSignRootCA.pem
使用实际指南查找证书的最新链接。我下载证书文件

Download the .pem file from this link:  GlobalSignRootCA.pem
步骤5.1。在安装中查找RubyGems证书目录

gem which rubygems
对我来说,目录是“C:\RailsInstaller\Ruby2.3.3\lib\ruby\2.3.0\rubygems\ssl\U certs”

步骤5.2。我将GlobalSignRootCA_R3.pem文件复制到此目录中

做了这件事之后,我应该按照指南去做

按照顶部的说明自动更新RubyGems

步骤5.3。因此,在我运行的目录中使用证书文件

gem update --system
ERROR:  Interrupted
Updating rubygems-update
Successfully installed rubygems-update-3.2.15
Parsing documentation for rubygems-update-3.2.15
Installing ri documentation for rubygems-update-3.2.15
这需要永远没有任何用户反馈,所以我中断终端。但它似乎一直在做一些工作

步骤5.4。然后我尝试运行bundle安装来下载和安装依赖项

bundle install
Fetching source index from https://rubygems.org/
Resolving dependencies...
Could not verify the SSL certificate for
https://rubygems.org/quick/Marshal.4.8/rails-5.1.7.gemspec.rz.
There is a chance you are experiencing a man-in-the-middle attack, but most
likely your system doesn't have the CA certificates needed for verification. For
information about OpenSSL certificates, see a bitly link. To connect
without using SSL, edit your Gemfile sources and change 'https' to 'http'.
但我仍然得到一些SSL证书错误

步骤5.5。然而,指南特别提到bundler本身应该更新。所以我是用

gem install bundler
Successfully installed bundler-2.2.15
Parsing documentation for bundler-2.2.15
Installing ri documentation for bundler-2.2.15
Done installing documentation for bundler after 21 seconds
1 gem installed
和绑定器更新成功

步骤5.6。最后,我再次运行bundle安装,它现在开始下载和安装依赖项,没有任何ssl错误

bundle install
Fetching gem metadata from https://rubygems.org/.............
Resolving dependencies......
Fetching rake 13.0.3
Installing rake 13.0.3
Fetching concurrent-ruby 1.1.8
Installing concurrent-ruby 1.1.8
Fetching i18n 1.8.9
Installing i18n 1.8.9
Fetching minitest 5.14.4
Installing minitest 5.14.4
Using thread_safe 0.3.6
Fetching tzinfo 1.2.9
... and so on
额外:安装时出现sqlite3错误,已通过此处找到的信息解决

毕竟。它正在运行

$ rails server
   => Booting Puma
   => Rails 5.1.7 application starting in development
   => Run `rails server -h` for more startup options
   *** SIGUSR2 not implemented, signal based restart unavailable!
   *** SIGUSR1 not implemented, signal based restart unavailable!
   *** SIGHUP not implemented, signal based logs reopening unavailable!
   Puma starting in single mode...
   * Version 3.12.6 (ruby 2.3.3-p222), codename: Llamas in Pajamas
   * Min threads: 5, max threads: 5
   * Environment: development
   * Listening on tcp://localhost:3000