У меня есть единственный внешний адрес, который указывает на сервер, обслуживающий несколько доменов с использованием виртуальных хостов. Я хотел бы обслуживать один из виртуальных хостов на новой физической машине и пытаюсь использовать обратный прокси, чтобы это произошло.
На основном сервере конфигурация выглядит так (имена изменены для защиты виноватых):
<VirtualHost *:80>
DocumentRoot /abc/htdocs/virtual/swnc
ServerName swnc.org
<Directory "/abc/htdocs/virtual/swnc">
Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
На новом физическом компьютере у меня есть указанный выше домен, настроенный с помощью:
<VirtualHost *:80>
ServerName swnc.org
ProxyPass "/" "http://www.example.org/virtual/swnc"
ProxyPassReverse "/" "http://www.example.org/virtual/swnc"
</VirtualHost>
Эта конфигурация работает, но результирующий URL-адрес указан в ProxyPass
указание выше, а не "реальный" URL, который должен быть swnc.org
.
Я пробовал добавить ProxyPreserveHost On
в конфигурации, но это не имело никакого значения. Что-то мне не хватает или просто невозможно передать запрос на новый компьютер и сохранить «настоящее» доменное имя?