使用 Apache 作为分块编码和摘要身份验证的代理

使用 Apache 作为分块编码和摘要身份验证的代理

我遇到了一个奇怪的问题。我使用 Apache 作为代理,并使用分块编码提交数据。问题是,当我尝试在此配置中使用摘要身份验证时,代理会挂起并最终超时。请求永远不会到达位于 Apache 后面的服务器。

下面是我的基本的 Apache 配置。

<VirtualHost *:80>
    SetEnv proxy-sendcl 1
    SetEnv proxy-nokeepalive 1
    ProxyPass / http://localhost:8000/ timeout=0
    ProxyPassReverse / http://localhost:8000/
</VirtualHost>

下面是我正在使用的一个重现该问题的基本 curl 命令:

curl --request POST --header "Transfer-Encoding: chunked" --insecure -F file=@myfile http://192.168.7.158/ --digest --user someuser:password

这是一个已知问题吗?有解决方法吗?我在 Apache 2.2 和 2.4 上都看到了这个问题。

答案1

在我看来,如果你想使用分块,你应该设置 SetEnv“proxy-sendchunked”而不是“proxy-sendcl”

相关内容