1.HTTP Access模块提供了基于host名称的访问控制,通过该模块,可以允许或禁止指定的ip地址或ip端访问虚拟主机或目录。
location / { deny 192.168.1.1; allow 192.168.1.0/24; deny all; }
allow :允许指定的ip地址或网段访问。
deny :禁止指定的ip地址或网段访问
允许或拒绝的先后顺序有关。
2.HTTP Auth Basic 模块,该模块采用基于http基本身份验证用户名和密码的登录方式,来保护虚拟主机和目录。
location / { auth_basic "zhujiangtao"; auth_basic_user_file htpasswd; }
在nginx.conf所在的目录下创建存放用户名密码的文件htpasswd
[root@zhu1 conf]# htpasswd -c htpasswd zhuzhu New password: Re-type new password: Adding password for user zhuzhu [root@zhu1 conf]# nl htpasswd 1 zhuzhu:pjqSoZN8SlSyM
这个文件用htpasswd指令生成的。
指令介绍:
auth_basic :该指令用于指定弹出的用户名和密码登录框上的提示名称。默认值为off,若设置为off时,表示关闭http基本身份认证
auth_basic_user_file :指定存放用户名和密码的文件,在nginx0,6版本之前,文件的存放位置的相对路径为nginx的安装目录,在之后的版本htpasswd密码文件的相对路径为nginx.conf文件所在的路径。
[root@zhu1 conf]# ll /opt/nginx/conf/nginx.conf -rw-r--r-- 1 root root 1459 09-01 22:31 /opt/nginx/conf/nginx.conf [root@zhu1 conf]# ll /opt/nginx/conf/htpasswd -rw-r--r-- 1 root root 21 09-01 22:57 /opt/nginx/conf/htpasswd