位置:首页 > JavaScript > Linux环境下Node.js实现跨域访问的方法与配置

Linux环境下Node.js实现跨域访问的方法与配置

时间:2026-08-21  |  作者:风起客  |  阅读:0

在 Linux 环境下,Node.js 应用要实现跨域访问,最常见的方案就是 CORS(跨来源资源共享)。

简单来说,CORS 是浏览器的一种安全机制。它允许服务器明确声明哪些源(包括域名、协议和端口)可以访问它的资源。

那么,具体怎么在 Node.js 里搞定它呢?

Linux 下 Node.js 如何实现跨域访问

使用 Express 框架实现跨域

如果你的项目用了 Express 框架,处理起来会很简单。直接使用 cors 中间件即可。

先安装它:

npm install cors

然后在应用中加入下面几行代码:

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

// 允许所有来源访问
app.use(cors());

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

// 你的路由和其他代码

使用原生 Node.js HTTP 模块实现跨域

如果你不想用 Express,或者项目本身基于原生 Node.js HTTP 模块,也可以手动设置响应头。

例如:

const http = require('http');
const server = http.createServer((req, res) => {
  // 设置跨域访问头
  res.setHeader('Access-Control-Allow-Origin', '*');
  res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
  res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');

  // 你的路由和其他代码
});

server.listen(3000);

生产环境注意事项

这里需要特别提醒一句:生产环境中,千万别图省事直接用通配符 *

Access-Control-Allow-Origin 设置为具体的来源,才是安全的正道。

总结

总而言之,无论是通过 Express 中间件还是原生模块,核心思路都是一样的。

也就是让服务器在响应里告诉浏览器:这些来源可以访问我

上面两种方法,应该能覆盖你大部分的需求场景了。

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多