所有子域上的 htpasswd 并防止通过不同的身份验证 ip 进行身份验证
htpasswd on all subdomains and prevent auth by different auth ip's
我希望所有带有 *.domainname.com 的子域都得到了 httpasswd 保护,但是 2 个 ips 允许在没有凭据的情况下进行身份验证。
<Directory /home/www/clients>
AuthUserFile /home/www/.htpasswd
AuthName "Acceso Privado"
AuthType Basic
Require valid-user
SetEnvIf Host domainname.com secure_content
Order Allow,Deny
Allow from all
Deny from env=secure_content
Allow from XX.XX.XX.XX
Allow from XX.XX.XX.XX
Satisfy Any
</Directory>
但是在 /home/www/clients 中托管的所有域都要求我提供凭据:(
<VirtualHost *:80>
ServerAdmin root@domainname.com
ServerName trademark.domainname.com
ServerAlias www.trademark.domainname.com
DocumentRoot /home/www/clients/trademark/htdocs/
<Directory /home/www/clients/trademark/htdocs>
Options none FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/trademark/trademark_error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/trademark/trademark_access.log combined
</VirtualHost>
我找到了适用于大于或等于 2.4 的 apache 版本的解决方案
<Directory /home/www/clients>
<If "%{REMOTE_ADDR} != 'XX.XX.XX.XX' && %{REMOTE_ADDR} != 'XX.XX.XX.XX' && %{HTTP_HOST} -strcmatch '*.domainname.com'">
AuthUserFile /home/www/.htpasswd
AuthName "Acceso Privado"
AuthType Basic
Require valid-user
</If>
</Directory>
我希望所有带有 *.domainname.com 的子域都得到了 httpasswd 保护,但是 2 个 ips 允许在没有凭据的情况下进行身份验证。
<Directory /home/www/clients>
AuthUserFile /home/www/.htpasswd
AuthName "Acceso Privado"
AuthType Basic
Require valid-user
SetEnvIf Host domainname.com secure_content
Order Allow,Deny
Allow from all
Deny from env=secure_content
Allow from XX.XX.XX.XX
Allow from XX.XX.XX.XX
Satisfy Any
</Directory>
但是在 /home/www/clients 中托管的所有域都要求我提供凭据:(
<VirtualHost *:80>
ServerAdmin root@domainname.com
ServerName trademark.domainname.com
ServerAlias www.trademark.domainname.com
DocumentRoot /home/www/clients/trademark/htdocs/
<Directory /home/www/clients/trademark/htdocs>
Options none FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/trademark/trademark_error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/trademark/trademark_access.log combined
</VirtualHost>
我找到了适用于大于或等于 2.4 的 apache 版本的解决方案
<Directory /home/www/clients>
<If "%{REMOTE_ADDR} != 'XX.XX.XX.XX' && %{REMOTE_ADDR} != 'XX.XX.XX.XX' && %{HTTP_HOST} -strcmatch '*.domainname.com'">
AuthUserFile /home/www/.htpasswd
AuthName "Acceso Privado"
AuthType Basic
Require valid-user
</If>
</Directory>