You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署后Socket.io出现Cannot GET /socket.io/ 404错误无法正常工作的问题求助

部署后Socket.io出现Cannot GET /socket.io/ 404错误无法正常工作的问题求助

各位大佬好,我把项目部署完后Socket.io完全没法正常运行,浏览器一直返回404错误,提示找不到/socket.io/路径,折腾了好半天都没搞定,来求助大家帮我排查下问题!

后端代码

import * as dotenv from "dotenv";
import express from "express";
import mongoose from "mongoose";
import cors from "cors";
import bodyParser from "body-parser";
import { Server } from "socket.io";

dotenv.config();

const app = express();

app.use(bodyParser.json({ limit: "15mb", extended: true }));
app.use(bodyParser.urlencoded({ limit: "15mb", extended: true }));
app.use(cors());

app.get("/", (req, res) => res.send("My app API"));

const PORT = process.env.PORT || 5000;
const SOCKET_IO_PORT = process.env.SOCKET_IO_PORT || 5500;

let server = app.listen(SOCKET_IO_PORT, () => {
  console.log("Socket.io server running on port :" + SOCKET_IO_PORT);
});

const io = new Server(server, {
  cors: { origin: "https://myapp.pages.dev" },
});

mongoose
  .connect(process.env.CONNECTION_URL)
  .then(() =>
    app.listen(PORT, () => console.log(`Server running on port : ${PORT}`))
  )
  .catch((error) => console.log(error.message));

前端代码

socket.current = io("https://myapp-api-production.up.railway.app");

socket.current?.on(
  "getMessage",
  (...) => {
    ...
  }
);

浏览器网络标签页信息

  • 请求URL: https://myapp-api-production.up.railway.app/socket.io/?EIO=4&transport=polling&t=OO7eSMV
  • 请求方法: GET
  • 状态码: 404
  • 响应内容: Cannot GET /socket.io/

服务器部署日志

Socket.io server running on port :5698
Server running on port :7777

我现在有点懵,后端里我启动了两个端口,一个给Socket.io用,一个给Express API,但前端连的是API的域名,是不是端口没对应上?还是CORS配置哪里出问题了?麻烦各位帮我看看,谢谢啦!

备注:内容来源于stack exchange,提问作者Luke M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 15:33:16