什么是访问认证
当我们网站对互联网开放时,但又想只有部分有权限的人才能进行访问。这是我们可以采用用户认证的方式进行限制,Nginx中提供了ngx_http_auth_basic_module模块来进行处理这项工作,此模块Nginx默认已经安装。
如何配置访问认证
<code>server { listen 80; server_name nginx.yekangming.com; auth_basic "Restricted Access"; auth_basic_user_file /usr/local/nginx/auth/htpasswd; location / { root /data/webroot/nginx; index index.html; } }/<code>
Nginx basic auth 语法
<code>语法: auth_basic <string>默认值: off配置段: http, server, location, limit_except语法: auth_basic_user_file <file>;默认值: null配置段: http, server, location, limit_except用户密码文件,文件内容类似如下:user1:password1user2:password2:comment/<file>/<string>/<code>
创建用户时,会提示输入密码
<code>htpasswd -c /usr/local/nginx/auth/htpasswd <username>/<code>
如果没有此命令时可以通过yum安装
<code>yum -y install httpd-tools/<code>
小知识
一般对于需要控制用户访问的场景,可以配置allow及deny指定进行配合使用。
<code>allow: 允许单个IP地址或者IP地址段访问语法: allow address | CIDR | unix: | all;默认值: null配置段: http, server, location, limit_exceptdeny: 拒绝单个IP地址或者IP地址段访问语法: deny address | CIDR | unix: | all;默认值: null/<code>
閱讀更多 Echa攻城獅 的文章