我正在运行两台服务器。
- 一种是运行 nginx 的网关,用于将不同域的请求分派到不同的服务器。
- 另一个是我的 WordPress 安装服务器。
我在 Apache 前面使用 Varnish 来做缓存(只有缓存,没有负载平衡)。我已经关闭KeepAlive
并为 Apache 设置Timeout
了 20 秒。
现在我正在上传大小为 160KB 的图像,但它失败了,而我的服务器配置允许最大大小为 20MB。在 WordPress 中提交上传表单后,我可以从浏览器的状态栏中看到文件被上传了几次(大多是 2 或 3 次)。当我使用 WordPress 的异步上传插件时,我还可以看到进度条从 0% 到 100% 一次又一次地增长,直到失败。
当它失败时,它卡在路径上/wp-admin/media-upload.php?inline=&upload-page-form=
并且 Chrome 显示“错误 101 (net::ERR_CONNECTION_RESET):连接已重置。” 我试过火狐,完全一样。
我在 Varnish 和 Apache 的错误日志中看不到任何相关内容。但是,我确实在 nginx 的访问日志中看到了以下日志的多行:
220.255.1.18 - - [01/Jan/2013:12:16:36 +0800] "POST /wp-admin/media-upload.php?inline=&upload-page-form= HTTP/1.1" 400 0 "http://MY-DOMAIN/wp-admin/media-new.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.101 Safari/537.11"
220.255.1.29 - - [01/Jan/2013:12:16:41 +0800] "POST /wp-admin/media-upload.php?inline=&upload-page-form= HTTP/1.1" 400 0 "http://MY-DOMAIN/wp-admin/media-new.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.101 Safari/537.11"
220.255.1.23 - - [01/Jan/2013:12:16:51 +0800] "POST /wp-admin/media-upload.php?inline=&upload-page-form= HTTP/1.1" 400 0 "http://MY-DOMAIN/wp-admin/media-new.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.101 Safari/537.11"
220.255.1.26 - - [01/Jan/2013:12:17:03 +0800] "POST /wp-admin/media-upload.php?inline=&upload-page-form= HTTP/1.1" 400 0 "http://MY-DOMAIN/wp-admin/media-new.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.101 Safari/537.11"
所以有什么问题?我该如何解决?