【发布时间】:2021-12-09 02:34:21
【问题描述】:
我有一个用 laravel 和 socket.io 构建的聊天应用程序。我的 laravel 应用程序位于一个域上,而我的 nodejs 应用程序位于另一个域上。连接到我的 nodejs 信号应用程序会出现 cors 错误,而 nodejs 应用程序也会返回 cors 错误。这是我的 nodejs 应用程序
"use strict";
require('dotenv').config();
const express = require('express');
const app = express();
const fs = require('fs');
const options = {
key: fs.readFileSync(process.env.KEY_PATH),
cert: fs.readFileSync(process.env.CERT_PATH)
};
const https = require('https').Server(options, app);
const io = require('socket.io')(https);
io.origins('*:*');
const listner = https.listen(process.env.PORT, function() {
console.log('Listening on ', listner.address().port);
});
//allow only the specified domain to connect
io.set('origins', process.env.DOMAIN + ':*');
require('./socket')(io);
app.get('/', function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
// Add this
if (req.method === 'OPTIONS') {
res.header('Access-Control-Allow-Methods', 'PUT, POST, PATCH, DELETE, OPTIONS');
res.header('Access-Control-Max-Age', 120);
return res.status(200).json({});
}
res.send('Ok');
next();
我在我的 laravel 后端安装了一个 cors 中间件,但没什么区别。任何帮助将不胜感激
【问题讨论】:
标签: node.js laravel socket.io cors