jekyll-github-metadata中的SSL证书验证失败

问题描述:

当尝试在本地构建我的Github Pages网站时,jekyll-github-metadata插件导致SSL证书错误.该网站在github页面上的呈现没有问题,因此这对我来说肯定是一个配置问题.

When trying to build my Github Pages site locally, the jekyll-github-metadata plugin is causing SSL cert errors. The site has no problem rendering on github pages, so it must be a configuration issue on my end.

我知道此问题,虽然它没有出现完全一样(我没有问题,仅使用github元数据插件即可安装gems),我添加了 the证书添加到我的环境变量中,但没有任何改变.

I am aware of this issue, and while it does not appear to be exactly the same (I have no trouble installing gems, only using the github metadata plugin) I added the certificate to my environment variables, but it changed nothing.

我需要更改哪些内容才能正确验证SSL证书?

What do I need to change for the SSL cert to verify properly?

Ruby:2.2.4(x86)
杰基尔:3.0.5
jekyll-github-metadata 1.11.1

Ruby: 2.2.4 (x86)
Jekyll: 3.0.5
jekyll-github-metadata 1.11.1

Liquid Exception: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed in _layouts/default.html
jekyll 3.0.5 | Error:  SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

堆栈跟踪

C:/Ruby22/lib/ruby/2.2.0/net/http.rb:923:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (Faraday::SSLError)
    from C:/Ruby22/lib/ruby/2.2.0/net/http.rb:923:in `block in connect'
    from C:/Ruby22/lib/ruby/2.2.0/timeout.rb:73:in `timeout'
    from C:/Ruby22/lib/ruby/2.2.0/net/http.rb:923:in `connect'
    from C:/Ruby22/lib/ruby/2.2.0/net/http.rb:863:in `do_start'
    from C:/Ruby22/lib/ruby/2.2.0/net/http.rb:852:in `start'
    from C:/Ruby22/lib/ruby/2.2.0/net/http.rb:1375:in `request'
    from C:/Ruby22/lib/ruby/2.2.0/net/http.rb:1133:in `get'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/faraday-0.9.2/lib/faraday/adapter/net_http.rb:80:in `perform_request'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/faraday-0.9.2/lib/faraday/adapter/net_http.rb:40:in `block in call'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/faraday-0.9.2/lib/faraday/adapter/net_http.rb:87:in `with_net_http_connection'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/faraday-0.9.2/lib/faraday/adapter/net_http.rb:32:in `call'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/faraday-0.9.2/lib/faraday/response.rb:8:in `call'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/faraday-0.9.2/lib/faraday/response.rb:8:in `call'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/octokit-4.3.0/lib/octokit/middleware/follow_redirects.rb:73:in `perform_with_redirection'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/octokit-4.3.0/lib/octokit/middleware/follow_redirects.rb:61:in `call'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/faraday-0.9.2/lib/faraday/rack_builder.rb:139:in `build_response'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/faraday-0.9.2/lib/faraday/connection.rb:377:in `run_request'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/faraday-0.9.2/lib/faraday/connection.rb:140:in `get'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/sawyer-0.7.0/lib/sawyer/agent.rb:94:in `call'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/octokit-4.3.0/lib/octokit/connection.rb:154:in `request'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/octokit-4.3.0/lib/octokit/connection.rb:19:in `get'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/octokit-4.3.0/lib/octokit/client/pages.rb:15:in `pages'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-github-metadata-1.11.1/lib/jekyll-github-metadata/client.rb:52:in `public_send'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-github-metadata-1.11.1/lib/jekyll-github-metadata/client.rb:52:in `block in method_missing'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-github-metadata-1.11.1/lib/jekyll-github-metadata/client.rb:64:in `call'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-github-metadata-1.11.1/lib/jekyll-github-metadata/client.rb:64:in `save_from_errors'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-github-metadata-1.11.1/lib/jekyll-github-metadata/client.rb:52:in `method_missing'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-github-metadata-1.11.1/lib/jekyll-github-metadata/repository.rb:167:in `block in cname'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-github-metadata-1.11.1/lib/jekyll-github-metadata/value.rb:27:in `call'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-github-metadata-1.11.1/lib/jekyll-github-metadata/value.rb:27:in `render'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-github-metadata-1.11.1/lib/jekyll-github-metadata/repository.rb:189:in `memoize_value'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-github-metadata-1.11.1/lib/jekyll-github-metadata/repository.rb:165:in `cname'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-github-metadata-1.11.1/lib/jekyll-github-metadata/repository.rb:157:in `pages_url'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-github-metadata-1.11.1/lib/jekyll-github-metadata.rb:106:in `block in init!'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-github-metadata-1.11.1/lib/jekyll-github-metadata/value.rb:29:in`call'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-github-metadata-1.11.1/lib/jekyll-github-metadata/value.rb:29:in `render'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-github-metadata-1.11.1/lib/jekyll-github-metadata/value.rb:51:in `to_liquid'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/variable_lookup.rb:49:in `block in evaluate'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/variable_lookup.rb:38:in `each_index'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/variable_lookup.rb:38:in `evaluate'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/context.rb:168:in `evaluate'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/variable.rb:110:in `block in evaluate_filter_expressions'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/variable.rb:110:in `map'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/variable.rb:110:in `evaluate_filter_expressions'

    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/variable.rb:87:in `block in render'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/variable.rb:86:in `each'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/variable.rb:86:in `inject'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/variable.rb:86:in `render'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/tags/assign.rb:26:in `render'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/block.rb:151:in `render_token'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/profiler/hooks.rb:5:in `block in render_token_with_profiling'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/profiler.rb:80:in `profile_token_render'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/profiler/hooks.rb:4:in `render_token_with_profiling'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/block.rb:135:in `block in render_all'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/block.rb:122:in `each'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/block.rb:122:in `render_all'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/block.rb:108:in `render'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/template.rb:210:in `block in render'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/template.rb:262:in `with_profiling'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/template.rb:209:in `render'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/template.rb:222:in `render!'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-seo-tag-1.4.0/lib/jekyll-seo-tag.rb:17:in `render'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/block.rb:151:in `render_token'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/profiler/hooks.rb:5:in `block in render_token_with_profiling'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/profiler.rb:80:in `profile_token_render'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/profiler/hooks.rb:4:in `render_token_with_profiling'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/block.rb:135:in `block in render_all'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/block.rb:122:in `each'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/block.rb:122:in `render_all'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/block.rb:108:in `render'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/template.rb:210:in `block in render'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/template.rb:262:in `with_profiling'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/template.rb:209:in `render'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/liquid-3.0.6/lib/liquid/template.rb:222:in `render!'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-3.0.5/lib/jekyll/liquid_renderer/file.rb:28:in `block (2 levels) in render!'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-3.0.5/lib/jekyll/liquid_renderer/file.rb:36:in `measure_bytes'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-3.0.5/lib/jekyll/liquid_renderer/file.rb:27:in `block in render!'

    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-3.0.5/lib/jekyll/liquid_renderer/file.rb:43:in `measure_time'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-3.0.5/lib/jekyll/liquid_renderer/file.rb:26:in `render!'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-3.0.5/lib/jekyll/renderer.rb:105:in `render_liquid'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-3.0.5/lib/jekyll/renderer.rb:147:in `place_in_layouts'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-3.0.5/lib/jekyll/renderer.rb:69:in `run'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-3.0.5/lib/jekyll/site.rb:171:in `block (2 levels) in render'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-3.0.5/lib/jekyll/site.rb:169:in `each'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-3.0.5/lib/jekyll/site.rb:169:in `block in render'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-3.0.5/lib/jekyll/site.rb:168:in `each'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-3.0.5/lib/jekyll/site.rb:168:in `render'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-3.0.5/lib/jekyll/site.rb:59:in `process'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-3.0.5/lib/jekyll/command.rb:28:in `process_site'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-3.0.5/lib/jekyll/commands/build.rb:60:in `build'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-3.0.5/lib/jekyll/commands/build.rb:35:in `process'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-3.0.5/lib/jekyll/commands/serve.rb:26:in `block (2 levels) in init_with_program'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `call'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-3.0.5/bin/jekyll:17:in `<top (required)>'
    from C:/Ruby22/bin/jekyll:23:in `load'
    from C:/Ruby22/bin/jekyll:23:in `<main>'

按照在这里,我设法使其正常运行.

Following the instructions from here, I managed to get it working.

http://curl.haxx.se/ca/cacert下载cacert.pem文件.pem . 将此文件保存到C:\ RailsInstaller \ cacert.pem.

Download the cacert.pem file from http://curl.haxx.se/ca/cacert.pem. Save this file to C:\RailsInstaller\cacert.pem.

现在通过设置设置,使ruby知道您的证书颁发机构捆绑包 SSL_CERT_FILE.要在您当前的命令提示符会话中进行设置, 类型:

Now make ruby aware of your certificate authority bundle by setting SSL_CERT_FILE. To set this in your current command prompt session, type:

set SSL_CERT_FILE=C:\RailsInstaller\cacert.pem