Nodejs nuxt 转发 api 失败

发布于 1周前 作者 bupafengyu 来自 nodejs/Nestjs

报错信息如下

connect EADDRNOTAVAIL ::1:80 - Local (:::0)

at internalConnect (net.js:934:16) at defaultTriggerAsyncIdScope (internal/async_hooks.js:452:18) at net.js:1022:9 at processTicksAndRejections (internal/process/task_queues.js:77:11)

server 配置信息

server: {
    host: 0,
    port: 80,
    timing: {
      // 可以在 http 响应头看到 Server-Timing 字段,表示服务端渲染时间
      total: true
    }
  }

Nodejs nuxt 转发 api 失败

12 回复

这玩意不好用,用魔板引擎吧


要不降低下难度,换个端口试试

换过了,不管用

在 k8s 环境下,转发到 k8s 的 namespace 下的地址;

只有在 server 端下会有报错,导致 api 调用失败

用 ip ipv4 试试?

并发量 如何,失败概率大吗,还是根本无法转发?

只要使用服务端渲染请求 api ,就报错,如果使用 client 端渲染就没事;

在容器里面 ping 后端域名也是通的

这个 去 GitHub 提问一下

nuxtjs 没相关配置,就是启动一个服务,监听一个端口;一般在容器里面 ip 都是使用 0.0.0.0

因为 nuxtjs 之难用 --> 直接切换到 react 阵营的 nextjs

在 Node.js 中使用 Nuxt.js 转发 API 请求时遇到失败,可能是由多种原因引起的。下面是一个常见的场景和解决方案,包括如何设置代理来转发 API 请求,并处理可能的错误。

首先,确保你的 Nuxt.js 项目中配置了 axios 模块,因为 axios 是 Nuxt.js 中处理 HTTP 请求的推荐方式。

  1. 安装 Axios 模块(如果尚未安装):
npm install @nuxtjs/axios
  1. nuxt.config.js 中配置 Axios 和代理
export default {
  modules: [
    '@nuxtjs/axios',
  ],
  axios: {
    proxy: true,
  },
  proxy: {
    '/api': { target: 'https://your-backend-api.com', pathRewrite: { '^/api': '' } }
  },
}
  1. 在组件或服务中发送请求
export default {
  async asyncData({ $axios }) {
    try {
      const response = await $axios.get('/api/your-endpoint');
      return { data: response.data };
    } catch (error) {
      console.error('API request failed:', error);
      return { error: error.response ? error.response.data : error.message };
    }
  }
}

确保你的后端 API 允许来自你的 Nuxt.js 服务器的请求(例如,通过 CORS 设置)。

如果问题依旧存在,检查以下几点:

  • 网络请求是否被防火墙或安全组规则阻止。
  • 后端 API 是否运行正常,并且没有内部错误。
  • 检查请求的 URL 和方法是否正确。

通过上述步骤,你应该能够诊断并解决大多数 API 转发失败的问题。

回到顶部