2014-12-04 39 views
1

我在使用SagePay作为支付网关的电子商务网站遇到了一些麻烦。一些付款正在完成,另一些则不完成,并且用户似乎正在出现的错误是内部服务器错误或502错误网关错误。502错误的网关Plesk虚拟主机更改

我已经调查服务器日志(具体proxy_error_log),发现每个失败被表示如下在日志中的错误事务:

2014年12月2日4点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; 

然而,虚拟主机文件包含以下内容:

注意!

不要修改这个文件,因为它是自动生成的,所以你所有的修改都会丢失,下一次生成这个文件。

任何想法为什么这样说,并有没有办法解决它?

+0

您使用的是哪个版本的Plesk? – Andy 2014-12-04 09:19:02

回答

1

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

前往域> example.co.uk> Web服务器设置。

在这个页面的底部是一个标签为“Additional nginx directives”的textarea,你可以在其中放入你的指令。单击确定,Plesk将重新启动Web服务器和指令将生效

到PHP所在地块内添加FastCGI的指令,你需要做的添加一些像这样的附加nginx的指令textarea的:

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; 
} 
+0

这是我想要添加的fastcgi,那么这是我要添加它们的地方吗?如果是这样,是否有一个特定的格式,我必须粘贴这块代码像,据推测它是为了进入一个特定的位置〜.php $ {}块,这意味着位置的虚拟主机文件.. 。? – 2014-12-04 12:16:45

+0

〜.php $ {}是位置匹配指令。所以无论你读过的是建议只添加.php文件的那些fastcgi值。我会编辑我的答案 – Andy 2014-12-04 12:37:42

+0

好吧,这是伟大的欢呼,我现在将它添加到额外的nginx指令字段,看看它是否修复了错误! – 2014-12-04 13:46:49