今天,我更新了我的nodejs安装(从官方的CentOS 7回购)。
我以前是通过lighttpd代理服务的,没什么特别的:
proxy.server = ( "" =>
( "" =>
(
"host" => "127.0.0.1",
"port" => 2368,
)
)
)NodeJS本身运行良好,我有两个应用程序运行良好(如果直接访问的话),lighttpd还代理第三个应用程序(由一个Java运行时提供),功能齐全。
问题从NodeJS更新到0.10.46 (通过yum包管理器)开始,对我的配置没有任何改变。
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: 0NodeJS输出:
"GET / HTTP/1.0"
"GET /favicon.ico HTTP/1.0" 200因此,请求在第一步中被转发,但是只有一个
500 -内部服务器错误
是由莱特派德送的。
有什么想法吗?不知道我还能尝试什么。
提前感谢!
发布于 2016-12-01 16:41:52
首先要问的是正确的提示: lighttpd版本有问题,更新到1.4.43是解决方案。
发布于 2016-09-12 13:55:20
节点版本
首先,我还要指出,NodeJS0.10.x非常过时。NodeJS目前使用V4.5LTS和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"
)
)
)其他可能性
虽然我不能确切地知道您的系统在做什么,但我认为这更可能是节点问题而不是lighty问题。尝试在节点中编写一个简单的http服务器hello world应用程序,看看它是否适用于代理。
https://stackoverflow.com/questions/39062488
复制相似问题