Можно ли перенаправить подкаталог на другой сервер, сохранив имя домена

У нас есть рабочий веб-сайт под домен x.domain.tld . Мы хотим добавить к нему wordpress таким образом, что у нас есть x.domain.tld / blog , но устанавливаем его на другом сервере, поэтому мы этого не делаем. трогайте что-нибудь на этом старом (но работающем) сервере.

Могу ли я запустить новый сервер, установить на нем wordpress, перенаправить apache на x.domain.tld / blog для перенаправления на новый IP-адрес сервера, ПРИ сохранении домена имя в URL-адресе для клиентов?

Мне это кажется невыполнимым. И мы неохотно переносим все старое приложение на новый сервер. Есть ли другой способ сделать это?

Спасибо за ваше help

0
задан 22 January 2021 в 17:24
2 ответа

Это совершенно правильный случай для обратного проксирования . Я связался с веб-сайтом Nginx для объяснения, потому что Nginx очень хорош в обратном проксировании, но Apache с mod_proxy и mod_proxy_http также будет работать отлично.

Здесь много вопросов с качественными ответами по этой теме; @HermanB связал один из них, но я предлагаю вам также поискать другие.

По сути, эта задача решается в VirtualHost с помощью всего лишь следующего:

<VirtualHost *:80>
   ServerName x.domain.tld
   ...
   ProxyPass /blog/  http://blog.domain.tld/blog/
   ProxyPassReverse /blog/  http://blog.domain.tld/blog/
</VirtualHost>

Такая конфигурация может применяться в дополнение к «основному сайту», то есть все, что не указано в URI / blog / , будет служил как раньше, как будто не было прокси-директив.

Как видно из фрагмента конфигурации, сам блог должен быть установлен на веб-сервере blog.domain.tld , чтобы он был доступен по пути blog . Я настоятельно рекомендую этот подход, его нельзя перебазировать (т.е. на обоих серверах должна использоваться одна и та же база URI / blog / ); таким образом вы легко сможете обойти некоторые трудноразрешимые проблемы, которые возникают из-за того, что обратные прокси-серверы обычно не перезаписывают URL-адреса в проксированных данных. И убедитесь, что ваше приложение (Wordpress) генерирует все внутренние ссылки только с использованием относительных URI.

0
ответ дан 24 April 2021 в 02:14

Я думаю так же, как и вы.

Хост-часть URL-адреса определяется клиентской стороной.
Если часть URL-адресов для хоста одинакова ( x.domain.tld и x.domain.tld ), клиент всегда будет подключаться к одному и тому же IP-адресу. обращайтесь за ними.
Это означает, что если часть хоста используется совместно между приложениями, они должны обслуживаться одним и тем же хостом и / или IP-адресом (как прокомментировал @HermanB, mod_proxy - это метод, который первым host получает запрос от клиента и получает контент с другого хоста, а затем объединяет содержимое, как если бы оно было на первом хосте. При этом клиент всегда подключается к первому хосту.).

Напротив, мы можем позволить одному хосту обслуживать несколько хостов URL и / или IP-адресов (см. X.domain.tld и Y.domain.tld одним хостом) с использованием VirtualHost .

0
ответ дан 24 April 2021 в 02:14

Теги

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