【2022】Nginx使用acces模块和basic模块做基本安全策略

本文涉及的产品
访问控制,不限时长
简介: 【2022】Nginx使用acces模块和basic模块做基本安全策略

本文内容:介绍一下Nginx访问控制与基础认证模块

  • Nginx访问控制模块:ngx_http_access_module;该模块的作用是允许或限制一些客户端的访问。
  • Nginx基础认证模块:ngx_http_auth_basic_module;该模块验证用户名和密码来限制对资源的访问。

ngx_http_access_module:

  • access模块,主要用于访问控制,可以作用于http、server、location等层
  • 按照顺序匹配规则从上到下,如果第一条规则匹配成功则执行,如果不匹配则向下继续匹配
  • 示例说明:
server {
  listen 80;
  server_name mirrors.yyang.com;
  charset utf8,gbk;
  location / {
    root /repo;
    index index.html;
    # 访问控制 
    allow 192.168.10.0/24;
    deny all;
  }
}

(此示例是说允许192.168.10.0网段的ip访问,其他全部拒绝)

  • 官方示例:
location / {
    deny  192.168.1.1;
    allow 192.168.1.0/24;
    allow 10.1.1.0/16;
    allow 2001:0db8::/32;
    deny  all;
}

ngx_http_auth_basic_module:

  • basic模块:可以对网页设置用户名密码,来确保数据的基本安全
  • 该模块应用于http、server、location层
  • 示例说明:

1.配置之前,我们先把需要用到的密码文件准备好,密码需要加密所以可以使用htpasswd或者openssl passwd工具生成;这里使用htpasswd工具,如果没有可以安装httpd-tools

[root@centos7 conf.d]# htpasswd -c -b /etc/nginx/ngx_passwd yyang 123123
Adding password for user yyang
[root@centos7 conf.d]# cat /etc/nginx/ngx_passwd 
yyang:$apr1$AWmgs/ap$oPZf6XPBVttmzmTAcHGbq.

2.修改站点配置文件,配置basic模块信息,然后检查配置文件,重新加载配置文件(注意:我配置完会省略检查及重新加载配置步骤,如果有看的小伙伴不要忘记这两步)

server {
        listen 80;
        server_name mirrors.yyang.com;
        charset utf8,gbk;
        location / {
                root /repo;
                index index.html;
                autoindex on;
                autoindex_exact_size off;
                autoindex_localtime on;
                auth_basic "hello nginx";
                auth_basic_user_file /etc/nginx/ngx_passwd; #可使用相对路径
        }
}

(以上basic配置一共两行,第一行注释信息,第二行是之前创建好的认证用户)

3.使用浏览器登陆测试

(此时在登陆网站已经需要进行用户名密码登陆)

此认证可以应用于某不想公开站点或网站后台等地方。

有兴趣也可以看看官方文档:https://nginx.org/en/docs/

这部分内容就到这了!

相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
目录
相关文章
|
3月前
|
负载均衡 应用服务中间件 API
Nginx:location配置模块的用法(一)
Nginx:location配置模块的用法(一)
456 2
|
1月前
|
负载均衡 应用服务中间件 nginx
Nginx的6大负载均衡策略及权重轮询手写配置
【10月更文挑战第9天】 Nginx是一款高性能的HTTP服务器和反向代理服务器,它在处理大量并发请求时表现出色。Nginx的负载均衡功能可以将请求分发到多个服务器,提高网站的吞吐量和可靠性。以下是Nginx支持的6大负载均衡策略:
145 7
|
1月前
|
存储 缓存 监控
|
1月前
|
负载均衡 算法 Java
腾讯面试:说说6大Nginx负载均衡?手写一下权重轮询策略?
尼恩,一位资深架构师,分享了关于负载均衡及其策略的深入解析,特别是基于权重的负载均衡策略。文章不仅介绍了Nginx的五大负载均衡策略,如轮询、加权轮询、IP哈希、最少连接数等,还提供了手写加权轮询算法的Java实现示例。通过这些内容,尼恩帮助读者系统化理解负载均衡技术,提升面试竞争力,实现技术上的“肌肉展示”。此外,他还提供了丰富的技术资料和面试指导,助力求职者在大厂面试中脱颖而出。
腾讯面试:说说6大Nginx负载均衡?手写一下权重轮询策略?
|
1月前
|
应用服务中间件 nginx C++
nginx的cgi模块
nginx的cgi模块
29 0
|
3月前
|
缓存 应用服务中间件 nginx
安装nginx-http-flv-module模块
本文介绍如何为Nginx安装`nginx-http-flv-module`模块。此模块基于`nginx-rtmp-module`二次开发,不仅具备原模块的所有功能,还支持HTTP-FLV播放、GOP缓存、虚拟主机等功能。安装步骤包括:确认Nginx版本、下载相应版本的Nginx与模块源码、重新编译Nginx并加入新模块、验证模块安装成功。特别注意,此模块已包含`nginx-rtmp-module`功能,无需重复编译安装。
164 1
|
3月前
|
负载均衡 应用服务中间件 Linux
在Linux中,常用的 Nginx 模块有哪些,常来做什么?
在Linux中,常用的 Nginx 模块有哪些,常来做什么?
|
3月前
|
缓存 前端开发 应用服务中间件
Nginx:location配置模块的用法(二)
Nginx:location配置模块的用法(二)
115 2
|
3月前
|
安全 应用服务中间件 网络安全
Nginx要怎么配置才算安全
Nginx要怎么配置才算安全
53 0
|
3月前
|
负载均衡 应用服务中间件 Linux
在Linux中,Nginx如何实现负载均衡分发策略?
在Linux中,Nginx如何实现负载均衡分发策略?