这是一个相当复杂的场景,所以我非常感谢任何指向正确方向的指针。
所以我在服务器A上设置了apache来代理https流量το服务器B,这是一个仅次于varnish和apache的plone站点。
我连接到A,可以在https上浏览站点,一切都很好。然而,当我通过plone的POST表单上传文件时,问题就开始了。我可以上传小文件(~1MB),但是当我尝试上传50MB的文件时,我一直在等待,直到文件上传完成,当指示为100%时,我得到了Bad gateway (代理服务器收到来自上游服务器的无效响应)。
在我看来,在A和B的通信之间有些东西超时了,而不是被重定向到正确的url,我得到了一个坏的网关,更不用说文件没有上传了。
在apache日志中,我看到
[error] proxy: pass request body failed
正如在其他线程中所建议的那样,我已经尝试了以下值,但没有成功
force-proxy-request-1.0
proxy-nokeepalive
KeepAlive
KeepAliveTimeout
proxy-initial-not-pooled
Timeout
ProxyTimeout
Sooooo..any建议?提前感谢你一百万!
发布于 2013-04-30 07:57:08
你检查清漆配置了吗?varnish有它自己的一些超时,我很熟悉send_timeout,如果它们不能在几秒钟内完成下载,它通常会中断下载(Varnish对于大型下载真的没有任何好处,因为你结束了做一些愚蠢的事情,比如配置send_timeout=7200让它工作)。
另外,将后端的first_byte_timeout设置为一个更大的数字,因为大文件上传可能会延迟plone的响应,这足以导致这种情况。
发布于 2014-04-07 14:56:22
在apache虚拟主机文件中设置Timeout
和KeepAliveTimeout
对我来说很有效。
示例:
Timeout 3600
KeepAliveTimeout 50
https://stackoverflow.com/questions/8945285
复制相似问题