我想为我的应用程序配置通用.htaccess
文件以保护我的测试服务器。我想为来自公共IP的任何请求显示基本身份验证,仅在当前服务器正在测试时才会显示。
如何实现这个目标?我知道如何保护域名并排除一些IP:
AuthType Basic
AuthName "Please Log In"
AuthUserFile /some/path/.htpasswd
Require valid-user
Order deny,allow
Deny from all
Allow from 127.0.0.1
Satisfy any
但是,如果服务器是开发/测试,我怎么能让这个代码运行?我无法改变env变量。我考虑过检测域(我要保护的服务器在子域上),并将代码从上面放到某个if
块中,但我不知道如何。
答案 0 :(得分:1)
您使用mod_setenvif
根据当前主机设置env变量并稍后使用auth
:
SetEnvIfNoCase Host ^sub\.domain\.com$ SECURED
AuthType Basic
AuthName "Please Log In"
AuthUserFile /some/path/.htpasswd
Require valid-user
Order Allow,Deny
Allow from 127.0.0.1
Deny from env=SECURED
Satisfy any