浪人 发表于 2018-11-13 07:09:15

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

  需要对后台地址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_fileusername
  然后需要输入要密码
  再次确认数据即可生效了。
  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>  作者使用的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

页: [1]
查看完整版本: Nginx使用http auth basic认证保护后台admin