Cookie, не устанавливающие в сбалансированной с загрузки среде

У меня есть выравнивание нагрузки подсистемы балансировки нагрузки Nginx два nginx сервера, служащие содержанию PHP (Moodle). Они совместно используют ту же базу данных и используют тот же каталог сессий с помощью доли NFS на отдельном сервере.

Я выполняю PHP 5.4.1 и последнюю версию Moodle.

Прямо сейчас выравнивание нагрузки работает просто великолепно, и я могу получить доступ к обоим узлам рабочего с помощью прокси. Однако при входе Moodle, я получаю ошибку при высказывании, что куки отключены. Они, очевидно, не, и вхождение в один из узлов рабочего работает просто великолепно. При доступе к узлам индивидуально, установлен MoodleSession cookie, но при доступе к нему через подсистему балансировки нагрузки, никакой cookie не установлен вообще.

Я попытался изменить режим cookie для использования базы данных MySQL, но это не работает, также.

Что может я действительно заставлять несколько узлов рабочего устанавливать cookie, которые сервер хранит в общем каталоге (NFS)?

1
задан 3 June 2014 в 19:07
1 ответ

Вы можете явно переслать заголовок Set-Cookie с помощью proxy_pass_header Set-Cookie.

В общем, при попытке определить влияние балансировщика нагрузки я часто нахожу полезным иметь его "баланс нагрузки" над одним рабочим, вместо того, чтобы полностью обходить балансировщик нагрузки, подключаясь непосредственно к рабочему.

Только когда балансировщик нагрузки работает, как и ожидалось, с одним рабочим, то, как уже упоминал @user1279647, можно определить, нужны ли вам "липкие" сессии или нет, протестировавшись с несколькими рабочими.

.
2
ответ дан 3 December 2019 в 21:16

Теги

Похожие вопросы