Я установил сервер Apache с балансировкой нагрузки, используя этот учебник , и все работает нормально со стороны Apache. У меня есть балансировщик нагрузки с mod_proxy и две веб-головы, которые на практике обслуживают запрос.
Но я попытался запустить на них свое приложение PHP, и возникла проблема с настройкой файлов cookie. Во время исследования я обнаружил, что имя сервера соответствует IP-адресу сервера (а не реальному имени сервера, которое я установил в httpd.conf). Это команда, которую я использовал для установки файла cookie;
setcookie("mycookie", $value, time() + 86400, "/", $_SERVER['SERVER_NAME'], false, true);
Причина, по которой я использовал здесь $ _SERVER ['SERVER_NAME'], заключается в том, что мое приложение для каждого клиента имеет отдельный адрес (например, client1.xyz. com, client2.xyz.com, et c), поэтому имя сервера не согласовано для всех пользователей.
Если я повторю значение, если $ _SERVER ['SERVER_NAME'], он покажет IP адрес сервера, а не имя сервера. Следовательно, повар ie теряется при переключении между серверами.
Как я могу установить имя сервера в веб-заголовках кластера?