Nginx的proxy_pass响应被截断

我使用nginx代理https请求到我的应用程序服务器(当前运行在8443)。
这个应用程序服务器提供dynamic页面,其中一些包括jQuery的缩小。
页面出现错误,因为它似乎jquery被截断…有没有文件大小限制或什么?

我的nginx conf是以下一个:

server { listen 443; server_name my_serv.com; ssl on; ssl_certificate certificate.pem; ssl_certificate_key privatekey.pem; keepalive_timeout 70; location / { proxy_pass https://localhost:8443; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_buffering off; proxy_buffers 8 8k; } } 

我知道这个问题是超级老,但我碰到了同样的问题。 确保你正在运行nginx的用户具有写入proxy_temp目录的权限。 如果通过代理服务器提供的更大响应不能全部保存在proxy_buffers中,则其余响应数据将被写入您的proxy_temp目录中的磁盘。 如果因为权限不足(或其他方面,即磁盘空间)而不能这样做,则响应会被截断。

一个简单的方法可以告诉是这个问题是清除您的浏览器caching,并重新加载与Chrome开发工具打开的页面。 在networking选项卡中find截断的文件,如果大小匹配你的代理缓冲区大小(在你的情况下是64K),那么nginx可能有问题写入磁盘。

有关nginx proxy_temp_path的更多信息: http ://wiki.nginx.org/HttpProxyModule#proxy_temp_path

如果在acces日志中看到截断文件的返回码304(未修改),请尝试清除浏览器的caching。 不幸的是,我找不到从nginxconfiguration中修复这个问题的方法。

有,但默认1G:

http://wiki.nginx.org/HttpProxyModule#proxy_max_temp_file_size

就像@kolbyjack所说的,在error.log中可能有错误要看。