Задать вопрос
@Maj1

Как сделать на PHP редирект на другой сервер с сохранением домена?

Допустим у приложения есть 3 сервера. На каждом сервере лежит код приложения. Как сделать так, чтобы балансировщик нагрузки перенаправил запрос на сервер А или сервер Б с сохранением домена в адресной строке браузера?

Допустим есть такая картина на сервере балансировщика:

<?php
$servers = [
	'124.51.23.41',
	'134.21.434.1',
	'19.234.1.22'
]

$server = rand(0, sizeof($servers) - 1);

header('Location: ' . $server . ')';
?>


при таком методе адрес в адресной строке браузера будет равен айпи сервера, а надо чтобы был домен (допустим: https://exampledomain.com).

Как этого достичь?
  • Вопрос задан
  • 161 просмотр
Подписаться 1 Простой 5 комментариев
Пригласить эксперта
Ответы на вопрос 3
402d
@402d
начинал с бейсика на УКНЦ в 1988
никак !!! PHP здесь не нужен.
https://habr.com/ru/companies/cloud_mts/articles/7...
например как это делается через DNS и потом глубже погружаетесь в тему

https://habr.com/ru/companies/first/articles/683870/
или через nginx раскидывать на несколько бакендов
Ответ написан
Комментировать
@pantsarny
Добавляете в dns три A записи и клиенты сами будут распределяться по серверам по round robin
Ответ написан
Комментировать
В общем это не пхп конечно должен делать
но если уж прям так хочется на нем то https://github.com/zounar/php-proxy
ну и балансируйте как вам там будет угодно
я через него деалал пару раз такие тз как, "Эхочу старые урлы на старом движке а новые на новом".
соответственно пихаешь в 404 вот эту штуку и смотришь не отдаст ли там 200, ну если и там нет то 404 отдавал.
В вашем случае по другому, но как ни странно с небольшим допилом работало.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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