2014-12-04 1 views
1

У меня возникли проблемы с сайтом электронной коммерции, который использует SagePay в качестве платежного шлюза. Некоторые платежи завершаются, другие - нет, и ошибка, которая, кажется, подходит для пользователей, - это либо ошибка внутреннего сервера, либо ошибка 502 Bad Gateway.502 Bad Gateway Plesk vhost changes

Я смотрел в журналы сервера (в частности proxy_error_log) и обнаружили, что каждая операция, которая происходит сбой показывает ошибку в журналах следующим образом:

2014/12/02 04:24:11 [ошибка] 9179 # 0: * 70668 upstream отправил слишком большой заголовок при чтении заголовка ответа из восходящего потока ...

После того, как я немного поработал, я обнаружил, что, предположительно, редактирование размера прокси-буфера, похоже, исправить. Я добавил следующий код /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

ответ

1

Если вы используете Plesk 11, вы можете добавить дополнительные директивы nginx на vhost через панель Plesk.

Перейти к доменам> example.co.uk> Настройки веб-сервера.

В нижней части этой страницы находится текстовая область с надписью «Дополнительные директивы nginx», в которой вы можете просто указать свои директивы. Нажмите OK и Plesk будет перезапустить веб-сервер и директивы будут действовать

Для добавления директивы FastCGI в блоке PHP месте вам нужно сделать что-то добавить, как это в дополнительные директивы 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; 
} 
+0

Это быстрые теги, которые я хочу добавить, и вот где я их добавлю? И если да, существует ли какой-то конкретный формат, который я должен вставить в этот блок кода, как будто он предназначен для перехода в определенное место ~ .php $ {}, который предназначен для размещения файла vhosts. .? –

+0

~ .php $ {} - это директива соответствия местоположения. Так что все, что вы читали, предлагает только добавить эти значения fastcgi для .php-файлов. Я отредактирую свой ответ – Andy

+0

Хорошо, это отличные приветствия, я добавлю это в поле Additional nginx directives и посмотрю, исправляет ли он ошибку! –