商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Node.js在Ubuntu上如何处理跨域问题

Node.js在Ubuntu上如何处理跨域问题

  发布于2026-07-15 阅读(0)

扫一扫,手机访问

在 Node.js 里处理跨域问题,说来说去,CORS(跨来源资源共享)是最正统的思路。这东西说白了就是浏览器的一道安全屏障——服务器通过它告诉浏览器:哪些来源(域名、协议、端口)可以调用我的资源。那么,实际操作中有哪些靠谱的招?

Node.js在Ubuntu上如何处理跨域问题

先来个最省事的方案:直接用 CORS 中间件。装个包,几行代码搞定。

npm install cors

然后在你的 Express 应用里引入并启用它:

const express = require('express');
const cors = require('cors');
const app = express();

// 允许所有来源访问(开发环境常用)
app.use(cors());

// 或者只允许特定来源
app.use(cors({ origin: 'http://example.com' }));

// 你的路由和其他代码

当然,有些场景不想依赖第三方包,那就可以手动设置响应头。原理一样,只是自己动手写逻辑:

const express = require('express');
const app = express();

app.use((req, res, next) => {
  // 指定允许的源
  res.header('Access-Control-Allow-Origin', 'http://example.com');
  // 允许的请求方法
  res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
  // 允许的自定义请求头
  res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
  next();
});

// 你的路由和其他代码

注意上面示例里的 http://example.com 要换成你实际允许的源。如果图省事直接写 * 开放所有来源,得掂量一下安全风险——生产环境建议谨慎。

实际项目里,CORS 的配置往往比这复杂一点,比如需要处理预检请求(OPTIONS)、携带凭证(credentials)等。想深入了解的话,可以直接翻 MDN 的文档:https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

本文转载于:https://www.yisu.com/ask/52440848.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注