且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Nginx使用http auth basic认证保护后台admin

更新时间:2022-05-07 03:15:27

需要对后台地址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