我做了一个项目,想要使用socket.io. 现在我在浏览器控制台中有一个错误:

访问"https://www.example.com" EIO = 4 transport = polling t = OwxDnkM '来自origin'https://www.example.com '已被CORS策略阻止:请求的资源上不存在'AUT—Control—BAL—Origin '标头.&&

How you can see I use my sub-domains, with which averything brokes. Awary domain links with their directory.
Client directory is tha basic web application on html, css, js, php. And now to connect with server using io('https://back.escootrent.com/socket.io');
The other directory is server for socket.io with this code:
server.js

const express = require('express');
const https = require('https');
const fs = require('fs');

const app = express();
const options = {
  key: fs.readFileSync('./_.escootrent.com_private_key.key'),
  cert: fs.readFileSync('./escootrent.com_ssl_certificate.cer')
};
const server = https.createServer(options, app);
const io = require('socket.io')(server);

app.get('/chats', function(req, res) {
    res.send('answ');
});

io.on('connection', socket => {
    console.log('User connected', socket.id);
})

io.on('disconnect', () => {
    console.log('User disconnected', socket.id);
});

server.listen(443, (err) => {
    if (err) {
        throw Error(err);
    }
    console.log('Server started!');
});

所有这些都是基于OpenServer和工作与本地参数,但不工作与域.

我试过了,没什么变化

app.use((req, res, next) => {
  res.setHeader('Access-Control-Allow-Origin', 'https://www.escootrent.com');
  res.setHeader('Access-Control-Allow-Methods', 'GET, POST');
  res.setHeader('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
  next();
});
io.origins((origin, callback) => {
  if (origin === 'https://www.escootrent.com') { 
    callback(null, true);
  } else {
    callback('Origin not allowed', false);
  }
});
const cors = require('cors');
app.use(cors());

推荐答案

在我的情况下,解决方案是使用不同的端口:

server.listen(1111, (err) => {
    if (err) {
        throw Error(err);
    }
    console.log('Server started!');
});

并在防火墙设置中打开此端口.

Javascript相关问答推荐

Angular:ng-contract未显示

通过实现regex逻辑自定义数据表搜索

不渲染具有HTML参数的React元素

如何判断属于多个元素的属性是否具有多个值之一

如何在使用fast-xml-parser构建ML时包括属性值?

如何使用侧边滚动按钮具体滚动每4个格?

使用axios.获取实时服务器时的404响应

Mongoose post hook在使用await保存时不返回Postman响应

在拖放时阻止文件打开

在带有背景图像和圆形的div中添加长方体阴影时的重影线

在Three JS中看不到补间不透明度更改效果

当我try 将值更改为True时,按钮不会锁定

如何限制显示在分页中的可见页面的数量

在JS中动态创建对象,并将其追加到HTML表中

如果没有页面重新加载Angular ,innerHTML属性绑定不会更新

按什么顺序接收`storage`事件?

背景动画让网站摇摇欲坠

在渲染turbo流之后滚动到元素

JavaScript&;Reaction-如何避免在不使用字典/对象的情况下出现地狱?

在JavaScript中,有没有一种方法可以迭代字符串的词法标记?