Можно ли настроить виртуальный хост Apache (v2.x, работающий под Plesk 10.4.4) на прослушивание двух IP-адресов одновременно? Мы перемещаем сайт с одного IP-адреса на другой IP-адрес (чтобы мы могли установить SSL - SNI, к сожалению, не вариант) и хотели бы, чтобы сайт оставался активным на обоих IP-адресах, чтобы избежать простоя до тех пор, пока DNS изменения завершены.
Итак, на данный момент это, скажем, 1.1.1.1 - мы хотели бы, чтобы он продолжил работу над 1.1.1.1, но ТАКЖЕ работайте над 1.1.1.2, пока DNS не завершит работу, тогда это может быть просто 1.1.1.2.
Это так же просто, как копирование записи виртуального хоста и изменение IP-адреса, или для этого есть нечто большее / меньшее?
Если ваша конфигурация apache использует общие соглашения, которые она уже прослушивает на всех интерфейсах, просто настроив второй IP-адрес на уровне ОС, ваш веб-сайт будет доступен на обоих IP-адресах.
Например. соответствующие строки, которые вы часто видите:
...
Listen 80
NameVirtualHost *:80
...
<VirtualHost *:80>
ServerName dummy-host.example
DocumentRoot /www/docs/dummy-host.example
</VirtualHost>
Теперь, если вы привязали Apache к определенным IP-адресам, ваша конфигурация будет выглядеть примерно так, как показано ниже, и вам нужно будет изменить свою конфигурацию:
...
Listen 10.9.8.7:80
NameVirtualHost 10.9.8.7:80
...
<VirtualHost 10.9.8.7:80>
ServerName dummy-host.example
DocumentRoot /www/docs/dummy-host.example
</VirtualHost>
N.B. При смене ip-адресов не пропускайте записи в /etc/hosts
Да, это может быть сделано. То, как именно вам нужно изменить свою конфигурацию, зависит от того, как она настроена в настоящее время. Копирование вашего виртуального хоста на второй с новым IP-адресом почти наверняка неправильный путь.
Читать документация apache vhost. Измените свою конфигурацию, попробуйте. Если это не сработает, отправьте ответ с конкретным вопросом, показывающим, какую конфигурацию вы используете, что вы пробовали, чего вы ожидаете, и что произошло вместо этого. Включите соответствующие выдержки из файла журнала.
Если вы используете записи DNS, скажем, www.myhost.com указывает на 1.1.1.1, но затем указывает на 1.1.1.2. Вам просто нужно изменить записи DNS-сервера, чтобы они указывали на новый IP-адрес. Запись вашего виртуального хоста, вероятно, похожа на:
<VirtualHost www.myhost.com:80>
ServerAdmin webmaster@myhost.com
DocumentRoot //www
ServerName www.myhost.com
ErrorLog /logs/error_log
TransferLog /logs/access_log
</VirtualHost>
Как мы видим, эта запись хоста не показывает жесткую ссылку на IP-адрес. Следовательно, сервер apache просто ответит на любой запрос, отправленный для www.myhost.com.
Обратите внимание, что apache должен будет прослушивать оба IP-адреса, пока вы не отключите старый.
Сообщите нам, как это работало.