502 错误的网关 Plesk vhost 更改


502 Bad Gateway Plesk vhost changes

我在使用SagePay作为支付网关的电子商务网站上遇到了一些问题。有些付款正在完成,有些则没有完成,用户似乎出现的错误是内部服务器错误或 502 错误网关错误。

我查看了服务器日志(特别是proxy_error_log(,发现每个失败的事务都在日志中显示错误,如下所示:

2014/12

/02 04:24:11 [错误] 9179#0: *70668 上游发送的标头太大,而从上游读取响应标头...

经过一番挖掘,我发现据说编辑代理缓冲区大小似乎可以解决它。我已将以下代码添加到/etc/nginx/nginx.conf:

proxy_buffer_size   128k;
proxy_buffers   4 256k;
proxy_busy_buffers_size   256k;

第二步是将另一个代码块添加到虚拟文件中的位置 ~ .php$ {} 块:

fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;

但是,虚拟文件包含以下文本:

注意力!

不要修改此文件,因为它是自动生成的,因此,下次生成文件时,您的所有更改都将丢失。

知道它为什么这么说,有没有办法绕过它?!

如果您使用的是 Plesk 11,您可以通过 Plesk 面板为每个 vhost 添加额外的 nginx 指令。

转到域> example.co.uk> Web 服务器设置。

在此页面的底部是一个标有"其他nginx指令"的文本区域,您可以在其中放入指令。单击"确定",Plesk 将重新启动 Web 服务器,指令将生效

要在 php 位置块中添加 fastcgi 指令,您需要将类似以下内容添加到其他 nginx 指令文本区域:

proxy_buffer_size   128k;
proxy_buffers   4 256k;
proxy_busy_buffers_size   256k;
location ~ .php$ {
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 256k;
    fastcgi_busy_buffers_size 256k;
}