Nginx Http认证 实现访问网站或目录密码认证保护 | 使用 HttpAuthBasicModule 模块
2013-08-05 14:26
1046 查看
Nginx Http认证 实现访问网站或目录密码认证保护 |
使用
HttpAuthBasicModule
模块
解释:
auth_basic
指令包含一个具有测试用户名和密码的HTTP基本认证,指定的参数将用于认证域。如果将值设置为“off”则忽略下级指令继承的动作。
auth_basic_user_file
指令为验证域指定了密码文件,0.6.7版本以后这里指定的文件是nginx.conf所在目录的相对路径,而不是–prefix指定的路径。
“Restricted" 单词将会出现在第一次访问Nginx站点的弹出框内。
htpasswd是一个文件,位于conf目录下。注意如果你 设置的是 conf/htpasswd,这个htpasswd文件应该在conf/conf/目录下。
或者避免麻烦,直接用绝对路径。
如何生成密码文件(
http://wiki.nginx.org/Faq#How_do_I_generate_an_.htpasswd_file_without_having_Apache_tools_installed.3F
)
1)使用apache htpasswd 生成:
nginx 的 http auth basic 的密码是用 crypt(3) 加密的,而apache是md5加密。所以生成时:
2)使用
htpasswd.py来生成(Nginx 官方 Wiki 中推荐
http://trac.edgewall.org/browser/trunk/contrib/htpasswd.py)
使用反向代理是避免重复提示认证
proxy_set_header Authorization "";
使用
HttpAuthBasicModule
模块
location / { auth_basic "Restricted"; auth_basic_user_file htpasswd; }
解释:
auth_basic
指令包含一个具有测试用户名和密码的HTTP基本认证,指定的参数将用于认证域。如果将值设置为“off”则忽略下级指令继承的动作。
auth_basic_user_file
指令为验证域指定了密码文件,0.6.7版本以后这里指定的文件是nginx.conf所在目录的相对路径,而不是–prefix指定的路径。
“Restricted" 单词将会出现在第一次访问Nginx站点的弹出框内。
htpasswd是一个文件,位于conf目录下。注意如果你 设置的是 conf/htpasswd,这个htpasswd文件应该在conf/conf/目录下。
或者避免麻烦,直接用绝对路径。
如何生成密码文件(
http://wiki.nginx.org/Faq#How_do_I_generate_an_.htpasswd_file_without_having_Apache_tools_installed.3F
)
1)使用apache htpasswd 生成:
nginx 的 http auth basic 的密码是用 crypt(3) 加密的,而apache是md5加密。所以生成时:
/usr/local/apache2/bin/htpasswd -c -d pass_file user_name #回车输入密码,-c 表示生成文件,-d 是以 crypt 加密。
2)使用
htpasswd.py来生成(Nginx 官方 Wiki 中推荐
http://trac.edgewall.org/browser/trunk/contrib/htpasswd.py)
chmod 777 htpasswd.py ./htpasswd.py -c -b htpasswd username password
使用反向代理是避免重复提示认证
proxy_set_header Authorization "";
location / { auth_basic "Restricted"; auth_basic_user_file /etc/nginx/htpasswd; proxy_pass http://xxx.xxx.xxx.xxx; proxy_redirect off; proxy_set_header Authorization ""; #避免代理weblogic重复提示认证问题 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Ssl on; }
相关文章推荐
- nginx实现访问网站或目录密码认证保护
- nginx实现访问网站或目录密码认证保护
- 通过Nginx实现访问网站密码认证保护
- Nginx Http认证 实现访问网站或目录密码认证保护
- nginx模块学习三 http_auth_basic_module 访问身份证验证
- 详细解释:nginx中ngx_http_auth_basic_module模块(HTTP Auth Basic 模块)配置及各个参数含义 .
- 详细解释:nginx中ngx_http_auth_basic_module模块(HTTP Auth Basic 模块)配置及各个参数含义 .
- Nginx访问控制_登陆权限的控制(http_auth_basic_module)
- 配置nginx身份验证(ngx_http_auth_basic_module)
- nginx为目录或网站加上密码认证
- 访问需要HTTP Basic Authentication认证的资源的C#实现
- 使用nginx实现http访问自动跳转到https端口
- 使用Nginx实现HTTP动态负载均衡—《亿级流量网站架构核心技术》
- 启动Nginx目录浏览功能及 让用户通过用户名密码认证访问web站点
- Tengine ngx_http_sysguard_module 过载保护模块使用
- 使用NGiNX_HTTP_Push_Module实现简单的服务器推送
- nginx第三方模块(ngx_http_auth_pam_module)加注释
- HTTP使用BASIC认证的原理及实现方法
- 访问需要HTTP Basic Authentication认证的资源的各种语言的实现
- 浅谈HTTP使用BASIC认证的原理及实现方法