我希望我们的服务器可用没有如果客户端通过我们的内联网请求,则使用 LDAP 登录。看来所有内联网流量都来自 10.0* IP。我根据在线找到的其他 httpd.conf 将我们的 VirtualHost 修改为以下内容:
<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 访问权限即可从互联网访问!您知道我做错了什么吗?
答案1
您需要让您的代理设置一个类似的标头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