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

Vercel and Pythonanywhere | Deploy separtly frontend and backend on domain and subdomain

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

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

我在 Google 中搜索过这个,应该可以。但是,我的问题来了,这是最好的方法还是我应该考虑其他选择?

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

提前感谢您抽出宝贵时间回答问题!

您描述的设置非常标准,可以完美运行。您只需要注意以下几点:

  1. 确保“www”和“@”(又名根)指向 Vercel 使用的 DNS 配置。它应该是根域中 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 headers and CORS guides.

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