部署后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
相关产品推荐
相关产品推荐

