主机名 "project-name.appspot.com.storage.googleapis.com" 与服务器证书不匹配 (OpenSSL::SSL::SSLError) - 使用 fog 和 carriewave

hostname "project-name.appspot.com.storage.googleapis.com" does not match the server certificate (OpenSSL::SSL::SSLError) - using fog and carriewave

我正在尝试使用载波 gem 从我的 rails 4.2 应用程序将图像上传到 google 云存储。每当我上传图片时,我都会收到错误 hostname "project-name.appspot.com.storage.googleapis.com" does not match the server certificate (OpenSSL::SSL::SSLError)

我无法从这里看到我需要做什么。

carrierwave.rb 文件

CarrierWave.configure do |config|
  config.fog_credentials = {
    provider:                         'Google',
    google_storage_access_key_id:     'key',
    google_storage_secret_access_key: 'secret key'
  }
  config.fog_directory = 'project-name.appspot.com'
end

uploaders/check_item_value_image_uploader.rb

class CheckItemValueImageUploader < CarrierWave::Uploader::Base

  # Include RMagick or MiniMagick support:
  # include CarrierWave::RMagick
  # include CarrierWave::MiniMagick

  # Choose what kind of storage to use for this uploader:
  #storage :file
   storage :fog

  # Override the directory where uploaded files will be stored.
  # This is a sensible default for uploaders that are meant to be mounted:
  def store_dir
    "check-item-value-images/#{model.id}"
  end

  # Add a white list of extensions which are allowed to be uploaded.
  # For images you might use something like this:
   def extension_white_list
     %w(jpg jpeg gif png)
   end

end

相关gems

gem 'gcloud'
gem "fog"
gem 'google-api-client', '~> 0.8.6'
gem "mime-types"

check_category_item_value 型号

mount_uploader :value, CheckItemValueImageUploader

check_category_item_value更新方法

if @check_category_item_value.save 
   flash[:success] = "Successfully updated"
   redirect_to category_items_edit_path(@guide, @category, @category_item)
else
   render 'category_items/edit'
end

编辑表单

 <%= form_for(@check_category_item_value) do |f| %>
   <%= f.file_field :value, :value => item_key.value, accept: "image/jpeg, image/jpg, image/gif, image/png" %>
   <%= f.submit "Submit" %><hr>
 <% end %>

在我为图像上传实施载波之前,这些表格工作正常(只会保存一串文件名而不上传图像)。现在,我已尝试为图像上传实施载波,但出现上述错误。

我用carrierwave docs, this post, and this video by google云平台得到了现在的东西。我错过了什么导致了这个错误?

问题是在使用载波时您的存储桶中有点 (.)。

创建另一个没有点的桶,它会起作用。

这是一些examples, seems your not the only one with this problem