В моей конфигурации Apache 2 у меня есть VirtualHost, который выглядит примерно так:
<VirtualHost *:80>
ServerName sub.domain.com
# username:password sent on to endpoint
RequestHeader set Authorization "Basic dXNlcm5hbWU6cGFzc3dvcmQ=="
ProxyPass /xyz http://192.168.1.253:8080/endpoint
ProxyPassReverse /xyz http://192.168.1.253:8080/endpoint
<Location /xyz>
# This needs to let users through under the following circumstances
# * They are in 192.168.1.0/24
# * They have a valid user in a htpasswd file
# So what goes here?
</Location>
</VirtualHost>
Я использую виртуальный хост в качестве обратного прокси-сервера для другого сервера (который я буду называть конечной точкой) в сети.
Я пытаюсь выяснить конфигурацию, которая позволила бы пользователям внутри сети, просматривающим sub.domain.com, автоматически обслуживаться конечной точкой. Однако пользователям за пределами сети следует запрашивать учетные данные.
Для конечной точки требуется пароль, который я скрыл с помощью RequestHeader (который я хочу). Пароль для внешних пользователей должен запрашиваться ОТЛИЧНЫМ, и он должен быть BasicAuth, получая список пользователей из файла htpasswd.