Я не думаю, что балансировка нагрузки работает так.
Вам нужен балансировщик нагрузки, который получает запрошенный URL-адрес, а затем передает его на один из серверов под управлением Magento - так что, я думаю, вы все равно передадите один и тот же URL-адрес на оба сервера, нет ?. Я не знаю как это сделать.
Вы пытаетесь настроить очень сложную систему.
Вы можете посмотреть, как переопределить некоторые функции, если вы хотите иметь разные значения для защищенных и незащищенных URL-адресов. Попробуйте прочитать этот код, чтобы вы начали:
//file app/code/core/Mage/Core/Model/Store.php
//class Mage_Core_Model_Store
//function getBaseUrl()
//function getDistroServerVars()
//file app/code/core/Mage/Core/Model/Url.php
//class Mage_Core_Model_Url
//function getBaseUrl()
//file app/code/core/Mage/Core/Controller/Request/Http.php
//class Mage_Core_Model_Http
//function - I don't know, any of them, none of them
и посмотреть на какие-либо файлы со строкой «» substDistroServerVars в них или isDirectAccessFrontendName может выставить что-то. getDistroServerVars
обсуждается в конце этого great article by the almighty Alan Storm.
Но я не думаю, что это реальный ответ - для реального ответа пропустите ссылки в конце этого утомительного монолога.
Если это ваш первый набег в Magento и вы действительно думаете, что вы собираетесь получить объем трафика в ваш магазин, который требует балансировки нагрузки более двух серверов, то вы можете себе позволить, * должны позволить **, третье лицо хостинг и получить профессионалов со многими многолетним опытом работы Magento при тяжелых нагрузках на нескольких серверах. Вы также захотите передать (по крайней мере) изображения в CDN.
* Я имею в виду, если ваш магазин имеет такой высокий объем, то он имеет высокий доход, и вы должны инвестировать этот доход в ваш магазин: профессиональный хостинг с поддержкой 24/7. В противном случае время простоя будет дорогостоящим, а длительная реализация будет означать потерянный доход.
* Если вы просто пытаетесь это для удовольствия и узнать что-то о настройке Magento на нескольких серверах, то я рекомендую две вещи:
1) Практика получения Magento работает на одном сервере первый - и optimsing для объема там (кэширование, компиляторы, настройка БД, анализ файлов журналов, плоские таблицы, задания cron, CDN, возможно комбинированные JS и CSS, настройка веб-сервера и правильное использование заголовков, возможно, полный кеш страниц и разбрызгивание Redis), потому что не является тривиальным списком на одном сервере, не обращая внимания на два + сервера БД и ELB.
И 2) практика получения Apache или nginx для обслуживания контента с балансировкой нагрузки с вашим сертификатом SSL электронной коммерции. Только тогда вы должны попытаться присоединиться к двум системам. Будьте готовы потратить много месяцев на это - включая выяснение Seige, AB или jmeter для моделирования нагрузочного тестирования.
Но если вы действительно хотите, чтобы AWS ELB установил здесь несколько отличных ресурсов, чтобы начать работу, особенно подробный учебник Адриана Дюка (первая ссылка) - обратите особое внимание на детали в последнем разделе в этой статье под названием «Magento», , что может быть ответом на ваш вопрос.
Getting and scaling Magento in the cloud Адриан Герцог
Using AWS Auto Scaling with an Elastic Load Balancer cluster on EC2 (на самом деле WordPress установить, не Magento, но г-н Шредер знает, что его Magento)
Running Magento in an AWS Environment (Все градом Alan Буря)