SOCKET.IO 启动时传输轮询 404 错误
SOCKET.IO Transport Polling 404 Error when starting
我正在使用最新的 4.1.3 socket.io 服务器和客户端代码。
我的聊天地址是“https://example.com/folder”
我收到以下错误:
“https://example.com/folder/socket.io/?EIO=4&transport=polling&t=NgcY9e8”尝试初始化时出现 404 错误。
我的服务器:
const express = require('express');
const app = express();
const http = require('http');
const server = http.createServer(app);
const { Server } = require("socket.io");
const io = new Server(server);
app.get('/', (req, res) => {
res.sendFile(__dirname + '/index.html');
});
io.on('connection', (socket) => {
console.log('a user connected');
socket.on('chat message', (msg) => {
console.log('message: ' + msg);
});
});
server.listen(3000, () => {
console.log('-------------------- Started Server (Port 3000) --------------------');
});
我的客户:
<script src="https://cdn.socket.io/4.1.3/socket.io.js"></script>
<script>
var socket = io({
path: "/chat/socket.io/"
});
</script>
我不确定是什么问题..是服务器端的问题吗?
谢谢!
解决了。
将以下块添加到站点的 conf.d 文件中:
location ~ ^/(node|socket.io) {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:3000/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
sub_filter /node /;
我正在使用最新的 4.1.3 socket.io 服务器和客户端代码。
我的聊天地址是“https://example.com/folder”
我收到以下错误: “https://example.com/folder/socket.io/?EIO=4&transport=polling&t=NgcY9e8”尝试初始化时出现 404 错误。
我的服务器:
const express = require('express');
const app = express();
const http = require('http');
const server = http.createServer(app);
const { Server } = require("socket.io");
const io = new Server(server);
app.get('/', (req, res) => {
res.sendFile(__dirname + '/index.html');
});
io.on('connection', (socket) => {
console.log('a user connected');
socket.on('chat message', (msg) => {
console.log('message: ' + msg);
});
});
server.listen(3000, () => {
console.log('-------------------- Started Server (Port 3000) --------------------');
});
我的客户:
<script src="https://cdn.socket.io/4.1.3/socket.io.js"></script>
<script>
var socket = io({
path: "/chat/socket.io/"
});
</script>
我不确定是什么问题..是服务器端的问题吗? 谢谢!
解决了。
将以下块添加到站点的 conf.d 文件中:
location ~ ^/(node|socket.io) {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:3000/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
sub_filter /node /;