我已将 Apache2 配置为将所有指向特定虚拟主机的流量代理到本地 tomcat 实例。
一切都很好,但对于大于 ~100kb 的多部分帖子来说则不然。此类帖子在 tomcat 端会失败,并出现 SocketTimeoutException 之类的异常。
如果我直接连接到 Tomcat(监听端口 != 80),那么所有帖子都可以正常处理。
Apache 虚拟主机配置如下:
NameVirtualHost *
SetOutputFilter DEFLATE
<VirtualHost *>
ServerName foo.bar.com
ErrorLog c:/wamp/logs/foo_error.log
CustomLog c:/wamp/logs/foo_access.log combined
ProxyTimeout 60
ProxyPass / http://localhost:10080/foo/
ProxyPassReverse / http://localhost:10080/foo/
ProxyPassReverseCookieDomain localhost bar.com
ProxyPassReverseCookiePath /foo /
</VirtualHost>
我尝试浏览 Apache2 和 mod_proxy 文档,但没有找到有用的信息。知道为什么 Apache2 拒绝代理大于 X 字节的请求吗?
谢谢!
答案1
您可能需要设置 proxy-sendcl 环境变量来强制 apache 沿着 content-length 标头发送大型多部分请求:
SetEnv proxy-sendcl
看http://httpd.apache.org/docs/current/mod/mod_proxy.html#request-bodies