Tabla de contenido
1 control de acceso Nginx
Módulo http_access_module de control de acceso basado en ip
Basado en el módulo http_auth_basic_module de autenticación de inicio de sesión de usuario
1.1 control de acceso Nginx basado en ip
Utilice el módulo http_access_module
1.1.1 Permitir la sintaxis de configuración
sintaxis: permitir dirección | CIDR | unix: todos;
Defecto: -
Contexto: http, servidor, ubicación, limiti_except
1.1.2 Rechazar la sintaxis de configuración
sintaxis: permitir dirección | CIDR | unix: todos;
Defecto: -
Contexto: http, servidor, ubicación, limiti_except
1.1.3 Cómo usar el código
Escriba el permiso primero, niegue todo de forma predeterminada; escriba denegar primero y permita todo de forma predeterminada.
访问控制配置示例,拒绝指定的IP,其他全部允许
vim /etc/nginx/conf.d/default.conf
location / {
root /html;
deny 192.168.1.1;
deny 192.168.1.0/24;
allow all;
}
访问控制配置示例,只允许谁能访问,其他全部拒绝
location / {
root /html;
allow 192.168.1.1;
allow 192.168.1.0/24;
deny all;
}
[root@nginx_web1 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@nginx_web1 ~]# systemctl reload nginx
1.1.4 Prueba
2.1 Acceso basado en la autenticación de usuarios
Módulo de uso: http_auth_basic_module
2.1.1 Sintaxis de configuración
Sintaxis: | auth_basic cadena | apagado; |
---|---|
Defecto: | auth_basic off; |
Contexto: | http , server , location ,limit_except |
Sintaxis: | auth_basic_user_file file; |
---|---|
Defecto: | - |
Contexto: | http , server , location ,limit_except |
2.1.2 Necesidad de instalar componentes dependientes
[root @ nginx_web1 ~] # yum -y instala httpd-tools
[root @ nginx_web1 ~] # htpasswd -b -c /etc/nginx/.auth_conf(file) oldboy (usuario) 12345 (contraseña) // Crear nombre de usuario
2.1.3 Uso del código
vim /etc/nginx/conf.d/default.conf
server {
listen 81;
server_name localhost;
location / {
root /html;
auth_basic "Please enter your username and password"; //添加描述信息
auth_basic_user_file /etc/nginx/.auth_conf; //指定认证文件路径
}