У меня есть сервер apache2, защищенный брандмауэром. Внешний адрес - 24.89.xxx.xxx, внутренний - 10.10.58.1.
Имя хоста сервера - myhost. У меня нет записи DNS для адреса 24.89.xxx.xxx, потому что он еще не работает. Доменное имя, которое будет преобразовано в него, в настоящее время используется для существующего сайта.
Я бы хотел, чтобы команда веб-разработчиков имела доступ к сайту по адресу 24.89.xxx.xxx. Однако всякий раз, когда они просматривают сайт, все URL-адреса получают вставленное в них имя локального хоста.
Так, <a href="index.php?id=9">Link</a>
создает URL-адрес http://myhost/index.php?id=9
Однако я хотел бы получить URL-адрес http://24.89.xxx.xxx/index.php?id=9
Apache установлен на Debian Lenny. Я использую "дефолтный" сайт. Я пробовал варианты установки NamedVirtualHost на IP, ServerName на IP, UseCanonicalName off, VirualHost и т. Д. Все, что я делаю, не вызывает никаких изменений. Да, каждый раз перезагружаю конфиг.
Я также пробовал отключить брандмауэр, и получил тот же результат. Я также внес несколько изменений в файл / etc / hosts.
/ etc / hosts:
127.0.0.1 localhost
10.10.58.1 myhost
24.89.xxx.xxx www.inusedomain.org
Читая более внимательно, я думаю, что это может быть проблема с php. Как правило, вам нужно установить какой-тобазовый URL'в конфигурации веб-сайта, поэтому php знает, как создавать все ссылки («Перезаписать URL-адреса»). Найдите config.php, или что-то в этом роде в корневом каталоге веб-сайта.
Если у вас плохие разработчики, это может быть не в одной переменной, а повсюду. Чтобы найти это или, возможно, найти его в одном месте, используйте grep -Ri --include='*.php*' 'localhost' *
, изменяя localhost на то, что в настоящее время перезаписывается.
Не полный ответ:
Я не совсем уверен, но мне кажется, что я помню, что привязка виртуального хоста к определенному IP или изменение директивы listen требовали полного перезапуска, а не только плавного перезапуска или перезагрузки конфигурации.
Я могу гарантировать, что проблема не в apache. Вы должны смотреть на то, что создает ваш html-контент ... т.е. php и т. д.