网站迁移问题

大家好。我正准备将 Discourse 站点迁移到新网站,并将所有 S3 站点资源转移到新账户。情况大致如下:我们有一家从原母公司分拆出来的新公司,Discourse 站点需要迁移到这家新公司的系统(以及新域名)中。

在开始之前,我先说明一下:这并非最佳方案,我面临一些棘手的限制。主要问题是我无法访问原域名的 DNS 设置,且对其进行修改可能需要数周时间。另一个主要问题是,我没有托管所用 S3 存储桶的 AWS 账户的 root 级凭据。

我们已经将所有邮件迁移到了新的 SES 账户,并且在新子域名上已设置了一条指向托管 Discourse 的 DigitalOcean droplet 的 A 记录。可以预见,该重定向在跳转到 Discourse 当前配置的原始 URL 之前会发出 SSL 警告。这没问题,我怀疑当我们用新基础域名重新配置 Discourse 后,这个问题就会自行解决。不过,我有几个问题:

  • 重新运行 Discourse 设置向导并针对新 URL 重新配置时,有没有办法在不更改已设置的 A 记录的情况下,保留从旧 URL 的重定向?我怀疑 DigitalOcean 和 Discourse 安装会继续重定向到新 URL,但在此过程中会抛出令人不快的 SSL 警告。

  • Discourse 设置向导会自动重新配置 Let’s Encrypt SSL 证书吗?还是说这是一个需要我手动处理并纳入计划的过程?

  • 将 S3 存储桶迁移到新 AWS 账户时,Discourse 所使用的凭据是否足以复制存储桶内容?是否需要 root 级凭据?在这方面有哪些主要挑战是我应该留意的?

感谢大家的帮助。尽管我很少发帖,但我非常感激这个社区。尽管我在这方面还很新手……但我正在学习!

如果你能访问当前服务器,或许可以执行以下操作:

./launcher enter app
rails c
SiteSetting.include_s3_uploads_in_backups=true
exit
discourse backup

这样可以生成一个包含 S3 资产的备份。随后,无论新站点是否已配置 S3,你都可以将这些资产恢复到新站点。

如果你无法更改 A 记录,那就无法更改。如果你能访问服务器,可以设置一个仅执行 301 重定向到新 URL 的 Web 服务器。

./discourse-setup 会设置 Let’s Encrypt。而“设置向导”是另一回事。