尝试使用来自其他提供商的自定义域在 Heroku 上设置 NextJS 网站 (names.co.uk)

Trying to setup a NextJS website on Heroku with a custom domain from another provider (names.co.uk)

我有一个客户网站,我想在 Heroku 上托管一个来自 https://www.names.co.uk/. https://www.names.co.uk/ 的自定义域,该域具有域名 (example.co.uk) 和一个连接到它的 GeoTrust QuickSSL 高级证书.

我需要网站从以下 URLS 运行,并在有人使用 HTTP 时强制使用 HTTPS:

http://www.example.co.uk
https://www.example.co.uk
http://example.co.uk
https://example.co.uk

我知道 names.co.uk 不支持在根域 (example.co.uk) 上使用 CNAMES(Heroku 提供),但我不知道我做错了什么来阻止它工作。

我不确定我需要在Heroku中添加哪些域名以及我是否需要使用Heroku提供的SSL证书。我也不确定我需要在 names.co.uk 中提供什么 A-NAMES、CNAMES 和 Web Forwards。

如果有人对我如何正确配置它有任何建议,甚至可以让所有这些 URLS 与 Heroku 和 Namesco 一起工作,我将不胜感激。

抱歉,如果我没有解释清楚,我对 DNS 和部署还比较陌生,似乎无法通过遵循 Heroku 或 Namesco 的文档来解决问题。

提前致谢

使用 Heroku 的 SSL 证书会使这个过程更容易,所以除非你有理由使用 Namecheap 的 SSL 证书,否则我建议使用 Heroku。 自动应用 Heroku 证书,Heroku 自动强制使用 HTTPS。

建议使用 example.comwww.example.com。假设您想使用 www 子域,这是如何进行的:

按照 Namecheap 关于 how to create a URL redirect 的文档从 example.com 重定向到 www.example.com

然后按照Heroku文档add your custom domain to Heroku:

  • heroku domains:add www.example.com
  • 然后更新您的 DNS 设置。默认情况下,您的 DNS 提供商是 Namecheap。请参阅 how to create a CNAME record 上的 Namecheap 文档。 Namecheap 建议不要为裸域设置 CNAME 记录,因此如果您想使用 example.com 作为您的首选域,此步骤会略有不同。

就是这样!

请记住,该网站仍可在您的 Heroku 域上使用:example.herokuapp.com。您可能还想将其重定向到您的首选域。