温馨提示×

CentOS中Node.js如何实现跨域访问

小樊
34
2025-11-21 20:09:58
栏目: 编程语言

在 CentOS 系统中,要实现 Node.js 应用程序的跨域访问,你可以使用 CORS(跨来源资源共享)策略。以下是几种实现跨域访问的方法:

方法一:使用 Express 框架

如果你使用的是 Express 框架,可以使用 cors 中间件来实现跨域访问。首先,确保已经安装了 corsexpress

npm install cors express

然后,在你的 Node.js 应用程序中使用 cors 中间件:

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

const app = express();

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

// 或者,你可以指定允许的来源
app.use(cors({ origin: 'http://example.com' }));

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

方法二:手动设置响应头

如果你不使用 Express 框架,可以在 Node.js 应用程序中手动设置响应头来实现跨域访问。以下是一个简单的示例:

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');

  // 处理预检请求
  if (req.method === 'OPTIONS') {
    res.writeHead(200);
    res.end();
    return;
  }

  res.write('Hello World!');
  res.end();
});

server.listen(3000, () => {
  console.log('Server is running on port 3000');
});

这样,你的 Node.js 应用程序就可以实现跨域访问了。请注意,为了安全起见,你应该在生产环境中限制允许的来源,而不是使用通配符 *

0