Javascript 与我的quasar应用程序连接的后端套接字io存在问题。套接字io代码403(禁止)错误

Javascript 与我的quasar应用程序连接的后端套接字io存在问题。套接字io代码403(禁止)错误,javascript,node.js,express,socket.io,quasar,Javascript,Node.js,Express,Socket.io,Quasar,我有一个我开发的Quasar应用程序,运行良好。我正在做一个更新,不知怎的,从开发模式转到生产模式,又把我的web套接字连接搞砸了。我在ubuntu服务器上使用pm2,通过连接到我数据库的express服务器启动应用程序 服务器代码段: const Express = require('express'); const path = require('path'); var cors = require('cors') var app = Express(); var http = requir

我有一个我开发的Quasar应用程序,运行良好。我正在做一个更新,不知怎的,从开发模式转到生产模式,又把我的web套接字连接搞砸了。我在ubuntu服务器上使用pm2,通过连接到我数据库的express服务器启动应用程序

服务器代码段:

const Express = require('express');
const path = require('path');
var cors = require('cors')
var app = Express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var mysql = require('mysql');
var CryptoJS = require('crypto-js')
var Report = require('fluentreports')

app.use(Express.static(path.join(__dirname, 'dist/spa'), {index: 'index.html'}))

io.set('origins', 'http://localhost:3000')

let connectedusers = []
let allusers = []
let index = 0

app.use(Express.json())

app.use(cors());

io.on('connection', function (socket) {
  console.log('a user connected');http.listen(3000, function() {

http.listen(3000, function() {
  console.log('Listening on ' + 3000);
});
Quasar引导套接字.io文件:

import Ioclient from 'socket.io-client'

export default ({ Vue }) => {
  Vue.prototype.$Socket = new Ioclient("http://192.168.2.193:3000"/*"192.168.2.193"*//*, {
    reconnection: true,
    reconnectionDelay: 1000,
    reconnectionDelayMax : 5000,
    reconnectionAttempts: Infinity
  }*/)
}
quasar.conf.js devServer代码段:

devServer: {
      open: true,
      port: 3000,
      proxy: {
        // proxy all requests starting with /api to jsonplaceholder
        '/api': {
          //target: 'https://bahrepairsystem.herokuapp.com:' + process.env.PORT,
          target: 'http://localhost:3000',
          //target: 'localhost:' + process.env.PORT,
          //changeOrigin: true,
          pathRewrite: {
            '^/api': ''
          },
          //secure: false
        }
      }
    },
我的系统现在坏了,所以我真的需要解决这个问题,否则公司会发疯的

让它现在工作起来

在服务器中,我将io.origins更改为“:”,正如我再次访问的一些stackoverflow问题中所述

代码段:

io.set('origins', '*:*')
同样,在我的quasar文件中的socket.js引导文件中,我将localhost更改为web套接字启动连接的服务器的ip地址以及端口号。 例如:

然后在quasar.conf.js文件中,我将devServer更改为以下代码。我不得不将devServer更改为在端口8080上工作,因为它需要在与我所读的nodejs服务器不同的端口上运行

代码段:

devServer: {
      open: true,
      port: 8080,
      proxy: {
        // proxy all requests starting with /api to jsonplaceholder
        '/api': {
          //target: 'https://bahrepairsystem.herokuapp.com:' + process.env.PORT,
          target: 'http://192.168.2.193:8080',
          //target: 'localhost:' + process.env.PORT,
          //changeOrigin: true,
          pathRewrite: {
            '^/api': ''
          },
          //secure: false
        }
      }
    },
devServer: {
      open: true,
      port: 8080,
      proxy: {
        // proxy all requests starting with /api to jsonplaceholder
        '/api': {
          //target: 'https://bahrepairsystem.herokuapp.com:' + process.env.PORT,
          target: 'http://192.168.2.193:8080',
          //target: 'localhost:' + process.env.PORT,
          //changeOrigin: true,
          pathRewrite: {
            '^/api': ''
          },
          //secure: false
        }
      }
    },