我在我们的 Rails 应用程序中使用sitemap_generator并尝试创建站点地图并将其上传到 DigitalOcean 空间(据我所知,它与 s3 兼容)但我无法覆盖站点地图适配器中的端点属性,因此它始终假定我的端点是亚马逊而不是 digitalocean
我得到的错误是:
Aws::Errors::NoSuchEndpointError: Encountered a `SocketError` while attempting to connect to:
https://BUCKET_NAME.s3.XXXX.amazonaws.com/sitemaps/en/english.xml.gz
This is typically the result of an invalid `:region` option or a
poorly formatted `:endpoint` option.
我在这部分的 sitemap.rb 配置中的代码是:
SitemapGenerator::Sitemap.adapter = SitemapGenerator::AwsSdkAdapter.new(
ENV["BUCKET_NAME"],
aws_access_key_id: ENV["S3_KEY"],
aws_secret_access_key: ENV["S3_SECRET"],
aws_endpoint: "https://XXXX.digitaloceanspaces.com",
aws_region: 'XXXX'
)
我尝试使用另一个适配器,但我得到一个更加模棱两可的错误(显然相同,无法连接)
SitemapGenerator::Sitemap.adapter = SitemapGenerator::S3Adapter.new(
aws_access_key_id: ENV["S3_KEY"],
aws_secret_access_key: ENV["S3_SECRET"],
fog_provider: 'AWS',
fog_directory: ENV["BUCKET_NAME"],
endpoint: "https://XXXX.digitaloceanspaces.com",
fog_region: 'XXXX'
)