今天我已经更新了我的nodejs安装(来自官方的CentOS 7回购)。
我曾经通过lighttpd代理服务,没什么特别的:
<input name="SizeColorQuantities[0].SizeAndQuantities[0].Quantity" ... />
<input name="SizeColorQuantities[0].SizeAndQuantities[1].Quantity" ... />
....
<input name="SizeColorQuantities[1].SizeAndQuantities[0].Quantity" ... />
<input name="SizeColorQuantities[1].SizeAndQuantities[1].Quantity" ... />
....
NodeJS本身运行正常,我有两个应用程序运行良好(如果直接访问),lighttpd也代理第三个应用程序(由Java运行时提供),这是完全正常运行的。
问题从NodeJS更新到0.10.46(通过yum软件包管理器)开始,在我的配置上没有任何改变。
Lighttpd proxy.debug输出:
proxy.server = ( "" =>
( "" =>
(
"host" => "127.0.0.1",
"port" => 2368,
)
)
)
NodeJS输出:
(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
因此,请求在第一步转发,但后来只转发
500 - 内部服务器错误
由lighttpd提供。
有什么想法吗?不知道我能再试一次了。
提前致谢!
答案 0 :(得分:1)
对问题的第一个评论是正确的提示: lighttpd版本存在问题,更新到1.4.43就是解决方案。
答案 1 :(得分:0)
首先,我还要指出nodejs 0.10.x已经过时了。 NodeJS目前在v4.5 LTS和v6.5 Current上。随着Javascript世界的快速发展,依靠你的发行版软件包可能会让你陷入一个非常老的节点版本。您可以使用nodesource.com服务获取系统的最新版本。例如。
curl -sL https://rpm.nodesource.com/setup_4.x | bash -
yum install -y nodejs
这样可以在localhost:2368上找到你的NodeJS应用程序吗?尝试在浏览器中访问它(如果2368不对外开放,则使用w3m等文本浏览器)。这可能就像NodeJS没有向用户返回数据一样简单。
你的lighttpd.conf看起来不错,但它不必要地嵌套,而这可能不会解决你的问题:
proxy.server = (
"" => (
(
"host" => "127.0.0.1",
"port" => "2368"
)
)
)
虽然我无法准确知道您的系统正在做什么,但我认为这更可能是一个节点问题,而不是一个轻微的问题。尝试在节点中编写一个简单的http服务器hello world应用程序,看看它是否可用于代理。