Страница пользовательской ошибки не отображается при использовании прокси-сервера AJP с Apache

Я пытаюсь настроить пользовательские страницы ошибок 403 и 404 на Apache.

Server config is as follows:
Server version: Apache/2.4.29 (Ubuntu)
Server built:   2019-04-03T13:22:37
Ubuntu 18.04.2 LTS

Я использую Apache для обратного прокси-сервера AJP, как показано ниже:

    ProxyVia On
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass /app ajp://localhost:8009/share
    ProxyPassReverse /app ajp://localhost:8009/share

Мой код ErrorDocument выглядит следующим образом:

    ErrorDocument 404 /cah-404.html
    ErrorDocument 403 /cah-403.html

Теперь, если я перейду через браузер к вышеуказанному приложению, например "https://server.xyz/app", Я получаю сообщение, как показано ниже:

Forbidden
You don't have permission to access /app/ on this server.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.

Apache/2.4.29 (Ubuntu) Server at server.xyz Port 443

Мои пользовательские страницы ошибок находятся по адресу /var/www/html. Разрешение на этих страницах — 444.

Любые идеи, почему эта ошибка происходит? Я пытаюсь получить доступ к странице от провайдера, который не авторизован. Так что это нормально, что Forbidden отображается, но он должен показывать пользовательскую запрещенную страницу.


person Vipul Swarup    schedule 10.07.2019    source источник


Ответы (1)


Я решил это, используя: https://serverfault.com/questions/266924/apache-reverse-proxy-error-page-when-proxied-server-is-down

Ключевая часть ответа: «Вы должны использовать URL-адрес, чтобы указать на ваш ErrorDocument, иначе, если вы используете ссылку на файловую систему, вы получите дополнительные 503 при попытке найти его».

Итак, теперь мои директивы errordocument выглядят так:

ErrorDocument 404 http://server.xyz/cah-404.html
ErrorDocument 403 http://server.xyz/cah-403.html
person Vipul Swarup    schedule 11.07.2019
comment
Обновление - этот ответ не сработал. Это работало на моем Macbook в Google Chrome. Но не работал ни в одном другом браузере. Также не работал на Linux-боксе моего коллеги ни в одном браузере. Продолжал давать бесконечные редиректы. - person Vipul Swarup; 12.07.2019