文章目录
Nginx 访问控制
1、nginx 访问控制模块
(1)基于IP的访问控制:http_access_module
(2)基于用户的信任登录:http_auth_basic_module
2、基于IP的访问控制
1、配置语法
Syntax:allow address | CIDR | unix: | all; 允许所有
default:默认无
Context:http,server,location
Syntax:deny address | CIDR | unix: | all; 拒绝单个
default:默认无
Context:http,server,location
1、deny拒绝所有 访问所有 server
修改/etc/nginx/nginx.conf
内容如下
deny all; #拒绝ip 访问 server
server {
listen 80;
server_name localhost;
location /ming{
root /html;
index ming.html index.htm;
}
location / {
root /html;
index index80.html index.htm;
}
}
server {
listen 81;
server_name localhost;
location / {
root /html;
index html.png;
auth_basic "欢迎来到我的世界";
auth_basic_user_file /mima/mima.txt;
}
}
}
测试:
3、针对server 拒绝请求
server {
listen 81;
server_name localhost;
deny 196.196.196.1; #拒绝单一写ip 拒绝所有是all
location / {
root /html;
index index81.html index.htm;
}
}
server {
listen 80;
server_name localhost;
location / {
root /html;
index index80.html index.htm;
}
}
测试被拒绝
4、针对location 拒绝请求
server {
listen 80;
server_name localhost;
location / {
root /html;
index index80.html index.htm;
location /ming{
root /html;
index ming.html index.htm;
deny 196.196.196.1; #拒绝单一写ip 拒绝所有是all
}
}
测试
3、基于用户的信任登录
1、配置语法
auth_basic
不为off
,开启登录验证功能,auth_basic_user_file
加载账号密码文件。
file:存储用户名密码信息的文件。
建立口令文件**
步骤:# mkdir /mima/mima.txt 创建一个存放密码的目录还有文件 名字自定义
步骤:# yum install -y httpd-tools #htpasswd 是开源 http 服务器 apache httpd 的一个命令工具,用于生成 http 基本认证的密码文件
步骤:# htpasswd -cm /mima/mima.txt ming //第一次新建用户
步骤:# htpasswd -m /mima/mima.txt ming //第二次添加用户
步骤:# cat /mima/mima.txt 查看密码
ming3:
a
p
r
1
apr1
apr1./FekLOT$e21ntYt6x8/.k7Z1aob3n1
配置示例 配置服务器
server {
listen 80;
server_name localhost;
location / {
root /html;
index html.png;
auth_basic "欢迎来到我的世界";
auth_basic_user_file /mima/mima.txt;
}
}
}
4、访问测试
需要输入账号 密码
输入完就可以查看内容