Vercel和Pythonanywhere |在域和子域上分别部署前端和后端

时间:2020-09-19 18:13:56

标签: deployment vercel

我一直在使用Django作为后端并且使用React作为前端框架的项目。我已经在Pythonanywhere中部署了该项目,并且运行良好。现在,我想在我的项目中实现Next.js,但是不幸的是,Pythonanywhere不支持Node.js。因此,我决定在Vercel中部署我的前端,并在Pythonanywhere中使用后端。

为此,我计划创建一个处理API请求的子域。在域DNS面板中,每个域和子域分别指向不同的站点。看起来像这样:

  • www.example.com(指向托管React应用程序的Vercel)
  • api.example.com(指向承载后端的任何地方的Python)

我已经在Google中进行了搜索,它应该可以正常工作。但是,这是我的问题,这是最好的方法还是我应该考虑其他选择?

这里是与此相关的post。在帖子中,作者计划在GCP上同时部署后端和前端。

提前感谢您的时间和答复!

1 个答案:

答案 0 :(得分:2)

您描述的设置是非常标准的,可以正常使用。您所需要做的就是照顾以下几点:

  1. 确保“ www”和“ @”(又名root)指向使用DNS配置的Vercel。它应该是根域中76.76.21.21的A记录,以及“ www”子域中cname.vercel-dns.com的CNAME记录。请记住redirect the domains以获得最佳SEO分数。
  2. api.example.com的DNS记录应指向其他提供商。您需要检查它们是否需要A或CNAME记录。他们可能还需要在根域中提供CAA记录。
  3. CORS :请注意,example.com应该触发对api.example.com的请求。您的CORS配置应说明这一点。 CORS的讨论完全不同,但我会为您指明正确的方向。您需要检查Next.js custom headersCORS guides

如果您在Vercel上遇到任何问题,可以联系他们的support channel