Этот вопрос (и ответы, и комментарии) очень помог мне, большое спасибо!
Я решил немного по-другому, и хотел поделиться. В этом случае нам нужно было предоставить пользовательский документ об ошибке 401, а корневой путь необходимо было проксировать в бэкэнд-приложение.
Так, например, http://example.com необходим для обслуживания контента с http://internal -сервер: 8080 / . Кроме того, http://example.com необходимо было защитить с помощью Basic Auth с пользовательским документом об ошибке 401.
Итак, я создал каталог с именем «error» в DocumentRoot. Вот соответствующие строки из vhost:
ErrorDocument 401 /error/error401.html
# Grant access to html files under /error
<Location "/error">
Options -Indexes
Order Deny,Allow
Allow from all
</Location>
# restrict proxy using basic auth
<Proxy *>
Require valid-user
AuthType basic
AuthName "Basic Auth"
AuthUserFile /etc/apache2/.htpasswd
</Proxy>
# Proxy everything except for /error
ProxyRequests Off
ProxyPass /error !
ProxyPass / http://internal:8080/
ProxyPassReverse / http://internal:8080/