首页 > 解决方案 > NextJs CORS 问题

问题描述

我在www.example.com的 Vercel 上托管了一个 Next.js 应用程序,它需要与托管在 api.example.com 的不同服务器上的后端 .NET Core Web API 进行通信。.NET 核心 web api 已配置为允许 CORS,但我的 Next.js 一直抱怨当我使用 AXIOS 获取数据时无法显示数据,因为响应缺少 allow-cors 标头:

从源“http://www.example.com”访问“https://api.example.com”的 XMLHttpRequest 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:没有“访问” -Control-Allow-Origin' 标头出现在请求的资源上

当我使用本地运行它时它工作正常npm run dev,但是当我构建它然后运行时它不起作用npm run start

有谁知道如何解决生产中的cors问题?

标签: reactjscorsnext.js

解决方案


我在这里找到了解决方案:

基本上,我只需要在根目录下添加一个 next.config.js 文件并添加以下内容:

// next.config.js
module.exports = {
    async rewrites() {
        return [
          {
            source: '/api/:path*',
            destination: 'https://api.example.com/:path*',
          },
        ]
      },
  };

推荐阅读