.NET后端与React前端部署疑问:Azure部署后端,Vercel部署带API前端可行吗?
当然可以这么做,这是前后端分离架构下非常常见的跨平台部署方案,核心是解决跨域访问和API地址配置问题,具体操作要点如下:
配置Azure后端的CORS策略
因为Vercel前端和Azure后端属于不同域名,必须在Azure App Service的CORS设置中添加Vercel部署后的域名(例如https://your-vercel-project.vercel.app),允许该域名发起跨域请求。测试阶段可以临时用*允许所有域名,但生产环境一定要指定具体域名,避免安全风险。确保Azure后端的外部可访问性
确认Azure App Service的网络配置没有限制外部访问(比如不要设置成仅虚拟网络内部访问),同时检查Azure SQL数据库的防火墙规则,允许Azure App Service的IP或服务访问数据库,后端的连接字符串要使用Azure应用服务配置中的安全存储项,不要硬编码在代码里。配置React前端的API地址
在React项目中,将API请求的基础地址替换为Azure后端的域名(例如https://your-azure-backend.azurewebsites.net/api)。推荐用环境变量管理,比如在Vercel项目的环境变量设置中添加REACT_APP_API_URL,部署时Vercel会自动将这个变量注入到项目中,无需修改代码。部署前端到Vercel
把React项目代码推送到GitHub/GitLab等代码仓库,然后在Vercel控制台导入该仓库,按照引导完成部署即可。Vercel会自动处理React项目的构建、打包和静态资源托管,部署完成后就能通过Vercel分配的域名访问前端,且前端能正常调用Azure的API。
额外注意事项
- 如果Azure后端启用了身份验证(比如Azure AD),需要在React前端配置对应的认证逻辑,确保请求能正确携带身份令牌。
- 部署前建议在本地环境测试前端连接Azure后端的API,确认接口调用正常后再部署前端到Vercel,减少排查问题的复杂度。
内容的提问来源于stack exchange,提问作者Robert Chan

