Apache 2.4 [proxy_http:错误]

Apache 2.4 [proxy_http:错误]

我已经启用了 Apache 代理和 http_proxy 模块,以便将一些来自端口 80 的请求(仅适用于虚拟主机)反向代理到 localhost:3000(其中运行着带有节点的 nuxt)。

虚拟主机中的代理配置非常简单:

ProxyRequests off
<Proxy *>
 Require all granted
</Proxy>
ProxyPreserveHost on
ProxyPass / http://localhost:3000/ retry=1 acquire=3000 timeout=3000 keepalive=off
ProxyPassReverse / http://localhost:3000/
 ProxyTimeout 3000
 ProxyVia full

Apache 版本为:Apache/2.4.18 (Ubuntu)

问题在 apache 错误日志中,该日志中间歇性地重复出现这两个错误:

[proxy_http:error] [pid :pid] (20014)Internal error (specific information not available): [client xxx.xxx.xxx.xxx:xxxxx] AH01102: error reading status line from remote server localhost:3000
[proxy:error] [pid :pid] [client xxx.xxx.xxx.xxx:xxxxx] AH00898: Error reading from remote server returned by /

我遵循了许多指南和建议(SetEnv proxy-initial-not-pooled 1、keepalive off 等等),但都无济于事。有人知道这件事吗?也许这甚至不是一个错误,一定是因为 ProxyRequests 已关闭?但是我不能让日志仅因这两个错误而泛滥。

答案1

[proxy:error] [pid :pid] [client xxx.xxx.xxx.xxx:xxxxx] AH00898: Error reading from remote server returned by /
这意味着 Apache 无法读取来自 后面服务的响应ProxyPass。也许端口 3000 上的服务确实在提供其内容时存在问题。尝试在那里寻找问题,尝试直接访问端口。

答案2

""您是否尝试过在斜线()周围添加开始和结束引号(/)?

方法:

ProxyPass "/" "http://localhost:3000/" retry=1 acquire=3000 timeout=3000 keepalive=off
ProxyPassReverse "/" "http://localhost:3000/"

或许这会造成麻烦。

参考:https://httpd.apache.org/docs/2.4/mod/mod_proxy.html

相关内容