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

IONOS VPS上NodeJS搭建WebSocket遇426 Upgrade Required错误求助

问题核心定位
  • 你在Plesk的NodeJS配置中,把应用URL设为了http://[my.url],这会导致域名下所有HTTP/HTTPS请求都被转发到仅处理WebSocket连接的Node服务(app.js)。但你的app.js只监听WebSocket升级请求,不处理普通HTTP页面请求,因此任何页面访问都会触发「Upgrade Required」426错误。
  • 测试页面的WebSocket连接地址完全错误:ws://[my.url]/server/app.js不符合WebSocket服务的连接逻辑——你的Node服务是独立监听8080端口的,不是通过HTTP路径映射调用的。
修复步骤

1. 调整Plesk NodeJS路由,避免占用整个域名

登录Plesk找到你的NodeJS应用配置,把应用URL修改为http://[my.url]/ws(或其他自定义子路径,比如/game-ws)。这样只有访问该子路径的请求才会转发到Node服务,其他页面请求仍由Plesk的Web服务器(NGINX/Apache)正常处理。

2. 修正客户端WebSocket连接地址

根据部署方式选择正确的连接地址:

  • 直接连接Node服务的8080端口:
    const ws = new WebSocket('ws://[my.url]:8080');
    
  • 通过Plesk反向代理(即上面设置的/ws路径)连接:
    const ws = new WebSocket('ws://[my.url]/ws');
    
    若反向代理下WebSocket无法连接,需在Plesk的「Apache & NGINX Settings」中手动添加NGINX规则:
    location /ws {
        proxy_pass http://localhost:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
    }
    

3. 分离页面与服务部署

把测试页面ws_test.html放在httpdocs根目录下(而非server目录),这样访问http://[my.url]/ws_test.html时,请求由Web服务器直接处理,不会触发Node服务的426错误。

4. 给Node服务添加普通HTTP响应处理

修改app.js,让它能处理普通HTTP请求(避免误访问8080端口时返回426):

const http = require('http');
const WebSocket = require('ws');

// 处理普通HTTP请求
const server = http.createServer((req, res) => {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('WebSocket game service is running\n');
});

// 挂载WebSocket服务
const wss = new WebSocket.Server({ server });

wss.on('connection', (ws) => {
    // 你的WebSocket业务逻辑
    ws.on('message', (data) => {
        console.log('Received:', data);
        ws.send('Server received: ' + data);
    });
});

server.listen(8080);

5. 验证服务可用性

用wscat工具测试WebSocket服务是否正常:

npm install -g wscat
wscat -c ws://[my.url]:8080

若能成功连接并收发消息,说明服务本身无问题,仅需调整Plesk路由配置。

额外检查点
  • 确认IONOS服务器防火墙和Plesk防火墙都已开放8080端口;
  • 重启Plesk的NodeJS应用和Web服务器,确保配置生效。

内容的提问来源于stack exchange,提问作者pundabuyer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 23:15:35