Назад | Перейти на главную страницу

Перенаправлять весь трафик независимо от порта или протокола на временную страницу

У меня есть сервер с несколькими доменами. И трафик http (apache), и трафик http-alt (tomcat).

Если / когда я отключу сервер, я хотел бы иметь возможность перенаправлять людей на временную страницу «в процессе обслуживания», независимо от их целевого URL / порта.

Как этого добиться? Нужен ли мне tomcat, работающий на вторичном сервере, или есть способ поймать все и перенаправить каким-то методом, о котором я не знаю? Я пытался просто принудительно направить весь трафик 80/8080 на вторичный сервер, но в зависимости от URL-адреса он не разрешается, и он никогда не разрешается при попытке доступа: 8080 / что угодно. Любые идеи?

РЕДАКТИРОВАТЬ (обновить): Я успешно достиг этого улова для любого домена и любого трафика порта 80, используя _default_ vhost, но он по-прежнему ничего не ловит на 8080, хотя я указываю:

<VirtualHost _default_:*>
    DocumentRoot /var/www
    ServerName host
    ServerAlias *
    ErrorDocument 404 /index.html
</VirtualHost>

Кто-нибудь знает, почему и как?

ИЗМЕНИТЬ (обновление 2): используя tomcat error-code

в /etc/tomcat/web.xml я добавил

<error-page>
    <error-code>404</error-code>
    <location>/WEB-INF/index.html</location>
</error-page>

Теперь я могу заставить его работать для корня tomcat http://domain.com:8080 но ничего общего с 404 вроде http://domain.com:8080/nonexistentpath

Любые идеи? Спасибо

Как отмечено в моих обновлениях к вопросу и указано в комментариях выше:

Для обработки порта 404 Apache (порт 80) я использовал следующее в конфигурации Apache:

<VirtualHost _default_:*>
    DocumentRoot /var/www
    ServerName host
    ServerAlias *
    ErrorDocument 404 /index.html
</VirtualHost>

Чтобы обработать их в Tomcat (8080, в моем случае), в /etc/tomcat/web.xml я добавил:

<error-page>
    <error-code>404</error-code>
    <location>/index.html</location>
</error-page>

Единственная другая проблема, с которой я столкнулся, заключается в том, что tomcat 404 не отображается в IE. В итоге мне понадобилось добавить на страницу дополнительные данные в виде комментариев, чтобы добавить веса к файлу, чтобы IE отображал мою настраиваемую страницу вместо своей собственной. Как глупо.

Надеюсь, это поможет кому-то другому в будущем.