0

我有一个 express nodejs 应用程序,它最近表现出奇怪的“连接被拒绝”行为。这可能与我将 nodejs 升级到 6.10.0 版本(我也尝试过 7.9.0)有关。即使升级是原因的开始,我也想了解为什么会发生这种情况。

行为是:始终如一地,它在成功启动应用程序和获得“连接被拒绝错误”之间交替。这种模式是一致的。我喜欢一致性——而不是间歇性——但我很难知道从哪里开始寻找。

您可以在http://162.243.254.205:1880/(节点 7.9.0)上亲自看到这一点

当我收到“拒绝连接”时,Chrome Devtools 显示所有文件“连接被拒绝”。重新加载 url 然后重复成功。IE。

:1880/ritc_style.css Failed to load resource: net::ERR_CONNECTION_REFUSED
:1880/bootstrap/css/bootstrap.min.css Failed to load resource: net::ERR_CONNECTION_REFUSED
:1880/orion/built-editor.css Failed to load resource: net::ERR_CONNECTION_REFUSED
:1880/jquery/css/smoothness/jquery-ui-1.10.3.custom.min.css Failed to load resource: net::ERR_CONNECTION_REFUSED
:1880/jsonviewer/jsonviewer.css Failed to load resource: net::ERR_CONNECTION_REFUSED
:1880/font-awesome/css/font-awesome.min.css Failed to load resource: net::ERR_CONNECTION_REFUSED
:1880/style.css Failed to load resource: net::ERR_CONNECTION_REFUSED
jquery-1.11.1.min.js Failed to load resource: net::ERR_CONNECTION_REFUSED
bootstrap.min.js Failed to load resource: net::ERR_CONNECTION_REFUSED
jquery-ui-1.10.3.custom.min.js Failed to load resource: net::ERR_CONNECTION_REFUSED
jquery.ui.touch-punch.min.js Failed to load resource: net::ERR_CONNECTION_REFUSED
jquery.confirm.min.js Failed to load resource: net::ERR_CONNECTION_REFUSED
tinymce.min.js Failed to load resource: net::ERR_CONNECTION_REFUSED
marked.min.js Failed to load resource: net::ERR_CONNECTION_REFUSED
built-editor.min.js Failed to load resource: net::ERR_CONNECTION_REFUSED
ace.js Failed to load resource: net::ERR_CONNECTION_REFUSED
ext-language_tools.js Failed to load resource: net::ERR_CONNECTION_REFUSED
d3.v3.min.js Failed to load resource: net::ERR_CONNECTION_REFUSED
main.js Failed to load resource: net::ERR_CONNECTION_REFUSED
settings.js Failed to load resource: net::ERR_CONNECTION_REFUSED

...

“连接被拒绝”消息使它看起来像一个网络问题。但是,如果我在服务器(一个 helloworld express 应用程序)上替换一个简单的测试,我不会得到这种行为,所以它一定与 nodejs 有关。

我很茫然!

任何人都可以帮忙吗?

谢谢

科林·戈德堡

4

2 回答 2

0

您是否更新了依赖项?这似乎很可能是您的问题的根源。

于 2017-04-28T14:06:41.510 回答
0

我已经找到了原因。

一直使用 Chrome——这是我的偏好——是我没有早点达到这一点的原因。我在 Chrome 中得到的只是交替信息——成功(带有适当的控制台日志)和失败(连接拒绝消息列表)——不断重复。

当我在 Firefox 中运行它时,它首先成功,然后失败,然后成功,然后失败(即相同的行为!)。但是在第二次失败时,它给出了错误消息“无法连接到(IP 地址)” - 即。与 Chrome 不同的行为。

然后我在日志中发现了一条错误消息(我以前不知何故错过了这个),表明一个(晦涩的)模块已经崩溃——一个保存和删除事件的模块(因此是交替行为)。升级这个模块(ultron)似乎已经解决了这个问题。

谢谢格伦的鼓励。由于我(大多数情况下)急于把事情做好,很容易恐慌——尤其是在接近一天结束的时候。睡个好觉让我进入了正确的思维框架,可以更清晰地思考。

科林·戈德堡

于 2017-04-29T12:58:55.563 回答