首页 > 解决方案 > Vercel 和 Pythonanywhere | 在域和子域上分别部署前端和后端

问题描述

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

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

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

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

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

标签: deploymentvercel

解决方案


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

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

如果您在 Vercel 上遇到任何问题,可以联系他们的支持渠道


推荐阅读