NodeJS 0.10.46不再在lighttpd代理服务之后

今天我已经更新了我的nodejs安装(从官方的CentOS 7回购)。

我曾经通过lighttpd代理服务,没有什么特别的:

proxy.server = ( "" => ( "" => ( "host" => "127.0.0.1", "port" => 2368, ) ) ) 

NodeJS本身工作正常,我有两个应用程序运行良好(如果直接访问),lighttpd还代理第三个应用程序(由Java运行时提供),这是完整的function。

从NodeJS更新到0.10.46(通过yum包pipe理器)开始的问题,在我的configuration上没有改变。

Lighttpd proxy.debug输出:

 (mod_proxy.c.1158) proxy - start (mod_proxy.c.1199) proxy - ext found (mod_proxy.c.1333) proxy - found a host 127.0.0.1 2368 (mod_proxy.c.417) connect delayed: 11 (mod_proxy.c.1042) proxy: fdevent-out 1 (mod_proxy.c.1065) proxy - connect - delayed success (mod_proxy.c.1030) proxy: fdevent-in 4 (mod_proxy.c.652) proxy - have to read: 0 (mod_proxy.c.1158) proxy - start (mod_proxy.c.1199) proxy - ext found (mod_proxy.c.1333) proxy - found a host 127.0.0.1 2368 (mod_proxy.c.417) connect delayed: 11 (mod_proxy.c.1042) proxy: fdevent-out 1 (mod_proxy.c.1065) proxy - connect - delayed success (mod_proxy.c.1030) proxy: fdevent-in 4 (mod_proxy.c.652) proxy - have to read: 0 

NodeJS输出:

 "GET / HTTP/1.0" "GET /favicon.ico HTTP/1.0" 200 

所以请求是在第一步转发,但只有一个

500内部服务器错误

由lighttpd提供。

有任何想法吗? 不知道我可以尝试什么。

提前致谢!

对问题的第一个评论是正确的提示:lighttpd版本是有问题的,更新到1.4.43是解决scheme。

节点版本

首先我也想指出nodejs 0.10.x是非常过时的。 NodeJS当前在v4.5 LTS和v6.5当前。 随着JavaScript世界的进步非常迅速,依靠发行版的软件包可能会让你陷入一个非常旧的节点版本。 您可以使用nodesource.com服务来获取系统的最新版本。 例如。

 curl -sL https://rpm.nodesource.com/setup_4.x | bash - yum install -y nodejs 

首先要检查的问题

有了这种方式是你的NodeJS应用程序可在localhost:2368? 尝试在浏览器中访问它(或者如果2368不对外开放,则为文本浏览器,如w3m)。 这可能与NodeJS不向用户返回数据一样简单。

你的lighttpd.conf看起来很好,但它嵌套不必要的深,而这可能不会解决您的问题尝试:

 proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => "2368" ) ) ) 

其他可能性

虽然我不能确切地知道你的系统在做什么,但我认为这可能是一个节点问题,而不是一个小问题。 尝试在节点中编写一个简单的http服务器hello world应用程序,看看是否可用于代理。