【发布时间】:2021-03-23 00:14:27
【问题描述】:
我有一个用 Laravel 和 Vue.js 编写的网站,也使用了 nodejs。当我尝试使用http协议进入站点时,一切都很好,当我尝试进入https协议时,一半的站点无法加载,并且在控制台中出现错误:
Access to XMLHttpRequest at 'https://example.com:8443/socket.io/?EIO=3&transport=polling&t=NPIJFIo' from origin 'https://example.com' has been blocked by CORS policy: No 'Access- Control-Allow-Origin 'header is present on the requested resource.
重定向到 https 是在 nginx 本身上配置的,但我不能在 nodejs 上这样做。我也无法理解,如何更正将 ssl 证书路径添加到我的 app.js。
我的 app.js:
const app = require('express')(),
server = require('https').createServer(app),
Redis = require('redis'),
RedisClient = Redis.createClient(),
io = require('socket.io')(server),
cors = require('cors'),
axios = require('axios');
const myArgs = process.argv.slice(2);
const domain = myArgs[0];
const SECRET_KEY = 'cZN^ZH8)mu~9e,>6M>3qKV=Ar^fFF,7/';
axios.defaults.baseURL = 'https://example.com/api/bot/';
server.listen(8081);
app.use(cors({
origin: true,
credentials: true
}));
我做错了什么?我将不胜感激。
【问题讨论】: