需要对后台地址admin进行保护,
http://www.abc/admin/admin.action之类的
可以使用http auth basic,既方便又简单,
1、首先要利用用apache 的 htpasswd 可以生成密码文件
只好先安装apache了
wget http://xxxx/tools/apache-2.0.63.tar.bz2
解压之后
./configure --prefix=/home/app/httpd-2.0.63
make && make install
创建用户和账号:
/home/app/httpd-2.0.63/bin/htpasswd -c -d /home/nginx/conf/pass_file username
然后需要输入要密码
再次确认数据即可生效了。
2、配置nginx
location ~ /admin(/.*)
{
auth_basic "Restricted";
auth_basic_user_file pass_file;
#我的后端设置 proxy到resin,与认证无关
proxy_pass http://resin.gz.schedule.163.com;
proxy_set_header Host "gz.schedule.163.com";
}
这样子,所有访问admin开头的,都需要进行简单的认证,解决燃眉之急!
注意 nginx 0.6.7 开始,auth_basic_user_file 的相对目录是 nginx_home/conf,以前版本的相对目录是 nginx_home。
参考官方文档:http://wiki.nginx.org/NginxHttpAuthBasicModule
重启:
/home/nginx/sbin/nginx –s reload
作者使用的nginx是:
/home/nginx/sbin/nginx –V
nginx version: nginx/0.8.53
built by gcc 4.3.2 (Debian 4.3.2-1.1)
configure arguments: --add-module=../ngx_cache_purge-1.1 --prefix=/home/app/nginx-0.8.53 --with-http_stub_status_module --with-pcre=../pcre-8.10
本文转自jooben 51CTO博客,原文链接:http://blog.51cto.com/jooben/429977