我遇到了一个奇怪的问题。我使用 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”