【发布时间】:2021-03-11 11:47:38
【问题描述】:
我在 www.example.com 上托管在 Vercel 上的 Next.js 应用程序,它需要与托管在 api.example.com 上的不同服务器上的后端 .NET Core Web API 进行通信。 .NET 核心 Web api 已配置为允许 CORS,但我的 Next.js 一直抱怨当我使用 AXIOS 获取数据时无法显示数据,因为响应缺少 allow-cors 标头:
CORS 策略已阻止从源“http://www.example.com”访问“https://api.example.com”处的 XMLHttpRequest:对预检请求的响应未通过访问控制检查:请求的资源上没有“Access-Control-Allow-Origin”标头
当我使用 npm run dev 在本地运行它时它工作正常,但当我构建它然后运行 npm run start 时它不起作用
有人知道如何解决生产中的 cors 问题吗?
【问题讨论】:
-
您能否澄清您所说的服务器“配置为允许 CORS”是什么意思?似乎您的后端不允许列出您的前端。
-
@JBallin .NET Core Web API 使用 .UseCors 中间件来允许 CORS 访问。后端似乎工作正常,因为我还有一个使用 create-react-app 创建并用作静态文件的 React 应用程序。该应用程序能够很好地与我的后端通信。我认为这里的问题与 Next.Js 服务器端逻辑有关
-
我这边最疯狂的是它进行身份验证但无法获取其他数据