apache - 带有大量 POST 上传和我的 apache + varnish + plone 设置的错误网关

标签 apache ssl plone varnish proxypass

这是一个相当复杂的场景,所以我非常感谢任何指向正确方向的指示。

所以我在服务器 A 上设置了 apache 来代理 https 流量 το 服务器 B,这是一个位于 varnish 和 apache 后面的 Plone 站点。

我连接到 A 并可以在 https 上浏览该站点,一切正常。但是,当我通过 plone 的 POST 表单上传文件时,问题就开始了。我可以上传小文件(~1 MB),但是当我尝试上传一个 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..有什么建议吗?提前一百万致谢!

最佳答案

你检查 Varnish 配置了吗? varnish 有它自己的一些超时,我熟悉 send_timeout,如果下载在几秒钟内未能完成,它通常会中断下载(Varnish 对于大量下载来说真的没有任何好处,因为你最终会做一些愚蠢的事情,比如配置 send_timeout=7200 到让它发挥作用)。

此外,为该后端将 first_byte_timeout 设置为更大的数字,因为大文件上传可能会延迟 plone 的响应,刚好足以导致这种情况。

关于apache - 带有大量 POST 上传和我的 apache + varnish + plone 设置的错误网关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8945285/

相关文章:

c# - HttpWebResponse 不会针对并发出站请求进行扩展

mysql - 如何使用 JDBC 通过 X509 连接到 MySQL?

amazon-web-services - AWS 内部负载均衡器的 SSL 证书

plone - 如何使用 diazo 使用通用标题替代页面

python /Plone : Getting all unique keywords (Subject)

php - ubuntu 升级后 mcrypt_create_iv 不再在 apache2 上工作

PHP 脚本运行两次

php - 从根目录加载 .htaccess

Apache mod_ssl 日志客户端证书

registry - Plone 控制面板的最佳实践