Vapor 是一个用于 Laravel 的无服务器部署平台,旨在让部署和扩展您的 Laravel 项目比以往更容易。 在这篇文章中,我们将讨论将自定义域名附加到 Vapor 项目时管理 DNS 的不同方法。
注意:所有示例都将使用域名“laravelvapor.rocks”。
Vapor 管理的 DNS
允许 Vapor 管理您的 DNS 可确保在配置和部署项目时获得最无缝的体验。 简而言之,您无需担心配置 DNS 记录 - Vapor 会为您完成所有操作。
Vapor 将确保与您的环境关联的域名或子域名始终在部署后指向正确的位置。 此外,Vapor 还将自动处理在请求 SSL 证书或使用 SES 设置电子邮件发送域名时进行的域名验证。
入门
有两种方法可以将您的域名告知 Vapor,以便它可以开始管理您的 DNS。 首先,从 Vapor 仪表板中,您可以从侧边栏中选择“域名”,然后选择“添加域名”。 接下来,在输入框中提供您的根域名,然后单击“添加”。
添加域名后,您将看到一组名称服务器记录,您需要将这些记录提供给您的域名注册商。 此过程在不同的注册商之间有所不同,但大多数注册商都会提供有关如何执行此操作的说明。
就是这样 - 您现在只需要等待 DNS 记录传播!
当您请求 SSL 证书时,Vapor 将自动设置验证 DNS 记录以证明您对域名的所有权。 当您验证用于从您的应用程序发送电子邮件的 SES 的域名时,也是如此。
当您部署应用程序时,无论您使用的是 API 网关还是负载均衡器,Vapor 都会自动将与环境关联的域名或域名指向应用程序的相关入口点。
外部管理的 DNS
虽然允许 Vapor 管理您的 DNS 很简单,但我们知道这并不总是可行的,因此让我们讨论如何将 Vapor 与第三方域名注册商一起使用。
即使 Vapor 不管理您的 DNS,它仍然需要知道域名存在。您可以通过在侧边栏中选择“域名”,然后选择“添加域名”来将域名添加到 Vapor。接下来,在文本输入框中提供您的根域名,然后点击“添加”。
注意: 在将您的域名添加到 Vapor 后,您将看到您的域名的名称服务器记录。但是,当您自己管理 DNS 时,您可以忽略这些名称服务器,因为您将使用自己的名称服务器。
在您部署项目之前,您需要申请 SSL 证书。从 Vapor 仪表板中,导航到您的域名并点击“申请证书”。在随后的模态框中输入您需要证书的域名或子域名,选择相关区域,然后点击“申请”。
您需要将生成的 CNAME 记录添加到您的域名 DNS 记录中,以证明其所有权,然后 AWS 才会颁发证书。在 Cloudflare 等服务中执行此操作如下所示
一旦 DNS 记录传播,Amazon 将确认您拥有该域名并颁发证书。Vapor 仪表板将更新以反映更改,现在您可以部署您的环境了。
要部署到您的自定义域名,请更新您的 vapor.yml
文件中的域名键,并通过运行 vapor deploy <环境>
命令重新部署您的应用程序。
您将在完成的部署命令的输出中以及 Vapor 仪表板中域名的“DNS 记录”部分找到将域名或子域名指向 Vapor 所需的 CNAME 记录。
接下来,您需要将此记录添加到您的域名 DNS 记录中。当记录传播后,您的应用程序将可以通过您外部管理的自定义域名访问。
展望未来
Vapor 提供了一些工具,可以简化您在通过第三方提供商管理 DNS 记录时确保您掌握 DNS 记录的流程。
首先,您可以查看 Vapor 仪表板中您域名的“DNS 记录”部分。在这里,您将看到一个列表,其中包含在项目生命周期中创建的所有记录的类型、名称和值。
当然,此功能也可以在 CLI 上使用 vapor record:list laravelvapor.rocks
命令使用。
总之,无论您将 DNS 控制权交给 Vapor 还是在外部管理您的 DNS,Vapor 都可以轻松地将自定义域名与您的项目一起使用。
如果您是 Vapor 的新手,但想尝试一下,您可以在今天在 vapor.laravel.com 创建您的帐户,并开始使用我们的免费沙盒帐户。