Я хочу, чтобы наш сервер был доступен без Логин LDAP, если клиент запрашивает через нашу интрасеть. Похоже, что весь интранет-трафик проходит через 10.0 * IP-адресов. Я изменил наш VirtualHost на основе других httpd.conf, которые я нашел в Интернете, на следующее:
<VirtualHost *>
ServerName <REDACTED>
WSGIScriptAlias / <REDACTED>
<Directory /var/server/server>
AuthType Basic
AuthName "<REDACTED>"
AuthBasicProvider ldap
AuthLDAPBindDN "uid=<REDACTED>,ou=<REDACTED>,dc=<REDACTED>"
AuthLDAPBindPassword "<REDACTED>"
AuthLDAPURL "<REDACTED>"
AuthzLDAPAuthoritative On
Require valid-user
# I added/modified the following lines when I wanted to get rid of LDAP authentication for internal users
Order deny,allow
Deny from all
Allow from 10.0
Satisfy any
</Directory>
</VirtualHost>
Однако когда я это сделал, наш сервер стал доступен из Интернета без доступа LDAP! Есть идеи, что я делаю не так?
Вы хотите, чтобы ваш прокси-сервер установил заголовок, например X-Forwarded-For
(который может быть уже установлен, в зависимости от того, что делает проксирование), затем используйте его для проверки контроля доступа, как описано Вот.
Что-то вроде этого..
Require valid-user
SetEnvIf X-Forwarded-For 10\.0\.\d+\.\d+$ proxy_env
Order allow,deny
Allow from env=proxy_env
Satisfy any