Ruby on rails 使用aws\U fog配置的Rails站点地图\U生成器

Ruby on rails 使用aws\U fog配置的Rails站点地图\U生成器,ruby-on-rails,amazon-web-services,amazon-s3,sitemap-generator-gem,Ruby On Rails,Amazon Web Services,Amazon S3,Sitemap Generator Gem,我正在heroku上使用带有rails 6的sitemap_generator gem。我被告知最简单的方法是在amazon上使用s3并与aws_fog桥接 在gem端,实现已经有了很好的文档记录。。。但我正在努力确保amazon配置是正确的 我搜索了很多,但什么也找不到,所以我希望有人能帮我 我配置了一个s3实例,将其命名为example,并将其添加到美国东部地区(俄亥俄州)。这一切都很简单 属性选项卡。。。应该和不应该选择什么?我什么也不选 “权限”选项卡。我公开,虽然这感觉不对。。。这个b

我正在heroku上使用带有rails 6的sitemap_generator gem。我被告知最简单的方法是在amazon上使用s3并与aws_fog桥接

在gem端,实现已经有了很好的文档记录。。。但我正在努力确保amazon配置是正确的

我搜索了很多,但什么也找不到,所以我希望有人能帮我

我配置了一个s3实例,将其命名为example,并将其添加到美国东部地区(俄亥俄州)。这一切都很简单

属性选项卡。。。应该和不应该选择什么?我什么也不选

“权限”选项卡。我公开,虽然这感觉不对。。。这个bucket是为了一个站点地图,所以它应该是公共的,对吗

我根据doumentation设置了我的区域

SitemapGenerator::Sitemap.default_host = "https://www.example.com"
SitemapGenerator::Sitemap.public_path = 'tmp/'
SitemapGenerator::Sitemap.sitemaps_host = "https://example.s3.amazonaws.com/"
SitemapGenerator::Sitemap.sitemaps_path = 'sitemaps/'
SitemapGenerator::Sitemap.adapter = SitemapGenerator::S3Adapter.new(fog_provider: 'AWS',
  aws_access_key_id: Rails.application.credentials.aws[:access_key_id],
  aws_secret_access_key: Rails.application.credentials.aws[:secret_access_key],
  fog_region: 'us-east-2')
当我点击rake sitemap:refresh:no\u ping我的本地主机时,我得到:status\u line=>“HTTP/1.1 301永久移动\r\n”

我想我可能需要将sitemaps文件夹添加到s3实例中,所以我这样做了,但我仍然得到:status_line=>“HTTP/1.1 301永久移动\r\n”


任何提示都很好…

我还在rails应用程序(heroku托管和rails 6)上使用sitemap generator gem。在
SitemapGenerator::sitemap.create
之前,我在
config/sitemap.rb
中有以下代码。我用
aws-sdk-s3
gem对其进行了配置,如下所示:

require 'aws-sdk-s3'
SitemapGenerator::Sitemap.default_host = "https://www.example.com"
SitemapGenerator::Sitemap.sitemaps_host = 'https://example.s3.eu-west-2.amazonaws.com/'
SitemapGenerator::Sitemap.adapter = SitemapGenerator::AwsSdkAdapter.new(Rails.application.credentials.dig(:amazon, :s3, :bucket),
                                                                        aws_access_key_id: Rails.application.credentials.dig(:amazon, :s3, :access_key_id),
                                                                        aws_secret_access_key: Rails.application.credentials.dig(:amazon, :s3, :secret_access_key),
                                                                        aws_region: Rails.application.credentials.dig(:amazon, :s3, :region)
)

谢谢你的回复。。。但这对aws方面的实现没有帮助。。。你添加了“sitemaps”文件夹吗?我刚刚在AWS上创建了一个bucket,允许公众访问,我可以直接查看它。因此,当我尝试使用命令生成它时,我可以“看到”上传的站点地图文件。这非常有用,可能会移动到sdk gem。谢谢,我还是不能让它工作。。。我只是有权进入denied@JemBuilt这与公共权限有关。请检查如何在此处公开,并确保您在正确的区域进行了尝试。