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

Node.js Express部署cPanel后调用VPS API出现ECONNREFUSED错误求助

Express应用部署到cPanel后无法访问VPS API(ECONNREFUSED)

问题背景

基于Node.js Express开发的应用,使用EJS模板,通过node-fetch调用VPS上的API接口。本地运行完全正常,但部署到cPanel后,其他页面均可正常加载,唯独/xyz页面调用API时抛出connect ECONNREFUSED XX.XX.XX.XX:8080错误。已尝试切换Axios与node-fetch、Postman测试API正常响应、将API改为HTTPS等方法,问题仍未解决。

代码片段

const express = require('express');
const fetch = require('@formio/node-fetch-http-proxy');
const port = 3000;

// 省略其他代码

app.get('/', (req, res) => {
    res.render('index');
});

app.get('/xyz',(req,res) => {
    var url = 'http://XX.XX.XX.XX:8080/api';

    try {
        fetch(url, {
            method: 'GET',
            headers: {
                'api-key': process.env.API_KEY,
                'Content-Type': 'application/json'
            }
        }).then((resp) => {
            return resp.json();
        }).then((data) => {
            // 省略数据处理代码
            res.render('xyz',{categories: categories , ...});
        }).catch((err) => {
            console.log(err);
        });
    }
    catch(err) {
        console.log(err);
    }
});

// 省略其他代码

报错信息

connect ECONNREFUSED XX.XX.XX.XX:8080

可能的原因及解决方案

1. cPanel主机出站端口限制

多数cPanel主机默认会限制非标准端口的出站访问,8080这类端口大概率被防火墙拦截。

  • 联系cPanel主机服务商,确认是否允许出站访问8080端口;若不允许,要么将VPS上的API切换到80/443标准端口,要么申请开放8080端口的出站权限。

2. VPS防火墙/安全组规则限制

VPS的防火墙(如iptables、ufw)或云服务商的安全组可能仅允许特定IP访问8080端口,而cPanel服务器的IP不在白名单内。

  • 登录VPS,检查防火墙规则,添加cPanel服务器公网IP的8080端口访问权限;如果是云VPS,同步检查云平台的安全组入站规则,确保放行对应IP和端口。

3. VPS API服务监听地址错误

如果VPS上的API服务绑定的是127.0.0.1,则仅能本地访问,外部服务器(包括cPanel)无法连接。

  • 修改API服务的监听地址为0.0.0.0,使其接受来自任意IP的请求。

4. cPanel Node.js环境网络配置问题

部分cPanel的Node.js部署环境自带代理,或存在内部网络限制,导致无法直接访问外部VPS端口。

  • 在cPanel服务器上执行curl http://XX.XX.XX.XX:8080/api或telnet XX.XX.XX.XX 8080,直接排查网络连通性;若确实无法连通,联系主机服务商确认是否需要配置内部代理。

5. 环境变量验证

虽然报错是连接拒绝,但仍需确认cPanel应用是否正确加载API_KEY环境变量——部分权限验证失败可能伪装成连接问题(不过优先级低于网络排查)。

  • 在cPanel应用设置中检查环境变量配置,或临时在代码中打印process.env.API_KEY确认是否正常获取。

额外排查建议

  • 使用nc -zv XX.XX.XX.XX 8080命令在cPanel服务器上测试端口连通性,快速定位是网络问题还是代码逻辑问题;
  • 若API已切换为HTTPS,确认证书为可信证书(避免自签证书导致的连接失败,不过你已尝试HTTPS无效,此点可延后排查)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 22:05:44