2016-06-22 55 views
1

我目前正在開發一個Rails應用程序,我想使用Openstack和OVH的對象存儲。Openstack Ovh連接配置

我的錯誤是:

connect_nonblock': SSL_connect returned=1 errno=0 state=unknown state: 
certificate verify failed (OpenSSL::SSL::SSLError) 
Unable to verify certificate. This may be an issue with the remote host or with Excon.Excon has certificates bundled, but these can be customized. 

`Excon.defaults[:ssl_ca_path] = path_to_certs`, 
`ENV['SSL_CERT_DIR'] = path_to_certs`, 
`Excon.defaults[:ssl_ca_file] = path_to_file`, 
`ENV['SSL_CERT_FILE'] = path_to_file`, 
`Excon.defaults[:ssl_verify_callback] = callback` (see OpenSSL::SSL::SSLContext#verify_callback), 
or `Excon.defaults[:ssl_verify_peer] = false` (less secure). (Excon::Errors::CertificateError) 

有沒有人有一個祕訣去做呢?

我按照這個教程中法文: https://gist.github.com/BaptisteDixneuf/85dc4419a0398446d2d3

,並有我的carrierwave配置文件:

CarrierWave.configure do |config| 
config.fog_provider = 'fog/openstack' 
config.fog_credentials = { 
    :provider    => 'OpenStack', 
    :openstack_username => ENV['OS_USERNAME'], 
    :openstack_api_key => ENV['OS_USER_MDP'], 
    :openstack_auth_url => ENV['OS_AUTH_URL'], 
    :openstack_region => 'GRA1' 
    } 

end 

回答

1

,因爲它說,你的應用程序在連接到OpenStack的麻煩,因爲它不能檢查證書。

然後它提供了各種方法來解決這個問題。

這些那些被用來提供該證書手動

`Excon.defaults[:ssl_ca_path] = path_to_certs`, 
`ENV['SSL_CERT_DIR'] = path_to_certs`, 
`Excon.defaults[:ssl_ca_file] = path_to_file`, 
`ENV['SSL_CERT_FILE'] = path_to_file`, 

通過分別手動檢查它並忽略它另外兩個旁路的非標準驗證。

`Excon.defaults[:ssl_verify_callback] = callback` (see OpenSSL::SSL::SSLContext#verify_callback), 
or `Excon.defaults[:ssl_verify_peer] = false` (less secure). (Excon::Errors::CertificateError) 

OVH的Openstack雲使用有效的證書。確保您的服務器安裝了通用的ca-certificat列表。並更新openssl庫。