【运维知识进阶篇】集群架构-Nginx常用模块(目录索引+状态监控+访问控制+访问限制)(上)

简介: 【运维知识进阶篇】集群架构-Nginx常用模块(目录索引+状态监控+访问控制+访问限制)

这篇文章给大家介绍Nginx常用模块,包括Nginx目录索引,Nginx状态监控,Nginx访问控制,Nginx访问限制。熟悉使用模块,才能给Nginx增加色彩。

目录索引模块

1. Nginx不允许列出整个目录浏览下载,可以用模块自己做个下载页。
2. ngx_http_autoindex_module模块处理以斜杠字符(’/’)结尾的请求,并生成目录列表。
3. 当ngx_http_index_module模块找不到索引文件时,通常会将请求传递给ngx_http_autoindex_module模块。

一、配置方法

1. autoindex on;如果在location下写,只对当前location生效。不能写index.html
2. 
3. #autoindex常用参数
4. autoindex_exact_size off;
5. 默认为on,显示出文件的确切大小,单位是bytes。
6. 修改为off,显示出文件的大概大小,单位是KB或者MB或者GB。
7. 
8. autoindex_localtime on;
9. 默认为off,显示的文件时间为GMT时间。
10. 修改为on,显示的文件时间为文件的服务器时间。
11. 
12. charset utf-8,gbk;
13. 默认中文目录乱码,添加上解决乱码
14. 
15. 对下载资源进行限速
16. limit_rate rate
17. limit_rate_after size

二、配置示例

1. [root@Web01 ~]# cat /etc/nginx/conf.d/module.conf
2. server {
3.   listen 80;
4.   server_name module.koten.com
5.   charset utf-8,gbk;
6. 
7. location / {
8.     root /code;
9. index index.html index.htm;
10.   }
11. 
12. location /download {
13.     alias /module;    #根下的module
14.     autoindex on;
15.     autoindex_exact_size off;
16.     autoindex_localtime on;
17.   }
18. }
19. [root@Web01 code]# systemctl restart nginx
20. [root@Web01 code]# mkdir /module
21. [root@Web01 code]# touch /module/1.txt
22. [root@Web01 code]# touch /module/你好.txt
23. 
24. 注意路径问题:
25. location /{
26.     root /code/;   #/=====/code 用户访问www.baidu.com实际是在/code目录下查找index.html
27. }

状态监控模块

ngx_http_stub_status_module模块提供对基本状态信息的访问,默认情况下不构建此模块,应使用--with-http_stub_status_module配置参数启用它

1. [root@Web01 code]# cat /etc/nginx/conf.d/module.conf
2. server {
3.     listen 80;
4.     server_name module.koten.com;
5. access_log off;
6. 
7. location /nginx_status {
8.         stub_status;
9.     }
10. }
11. [root@Web01 code]# systemctl restart nginx

1. Active connections  # 当前活动的连接数
2. accepts             # 已接收T的总TCP连接数量
3. handled             # 已处理的TCP连接数量
4. requests            # 当前http请求数
5. 
6. Reading             # 当前读取请求头数量
7. Writing             # 当前响应的请求头数量
8. Waiting             # 等待的请求数,开启了keepalive
9. 
10. # 注意, 一次TCP的连接,可以发起多次http的请求, 如下参数可配置进行验证
11. keepalive_timeout  0;   # 类似于关闭长连接
12. keepalive_timeout  65;  # 65s没有活动则断开连接

访问控制模块

基于IP的访问控制http_access_module和基于用户登陆认证http_auth_basic_module

一、Nginx基于IP访问控制

1、访问控制配置,拒绝指定IP,其他全部允许

1. [root@Web01 code]# cat /etc/nginx/conf.d/module.conf
2. server {
3.     listen 80;
4.     server_name module.koten.com;
5. access_log off;
6. 
7. location /nginx_status {
8.         stub_status;
9.  deny 10.0.0.1;
10.   allow all;
11.     }
12. }
13. [root@Web01 code]# systemctl restart nginx

由于本机IP是10.0.0.1所以访问失败,权限拒绝

相关实践学习
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
目录
相关文章
|
1月前
|
前端开发 Java 应用服务中间件
Nginx访问异常的解决方法
Nginx访问异常的解决方法
|
3月前
|
JSON 应用服务中间件 API
利用Grafana的API Key+Nginx反向代理实现Grafana免登录访问
利用Grafana的API Key+Nginx反向代理实现Grafana免登录访问
98 1
|
20天前
|
应用服务中间件 网络安全 nginx
nginx配置https访问
nginx配置https访问
35 0
|
29天前
|
应用服务中间件 nginx
nginx配置访问qicaitun.com强制跳转www.qicaitun.com
nginx配置访问qicaitun.com强制跳转www.qicaitun.com
9 0
|
30天前
|
应用服务中间件 nginx
nginx配置https和直接访问静态文件的方式
nginx配置https和直接访问静态文件的方式
28 3
|
1月前
|
前端开发 应用服务中间件 nginx
nginx中配置不输入端口(指定地址)访问项目的方法
nginx中配置不输入端口(指定地址)访问项目的方法
27 0
|
1月前
|
存储 监控 NoSQL
Redis 架构深入:主从复制、哨兵到集群
大家好,我是小康,今天我们来聊下 Redis 的几种架构模式,包括主从复制、哨兵和集群模式。
Redis 架构深入:主从复制、哨兵到集群
|
1月前
|
分布式计算 API 数据处理
Flink【基础知识 01】(简介+核心架构+分层API+集群架构+应用场景+特点优势)(一篇即可大概了解flink)
【2月更文挑战第15天】Flink【基础知识 01】(简介+核心架构+分层API+集群架构+应用场景+特点优势)(一篇即可大概了解flink)
60 1
|
2月前
|
网络协议 中间件 数据库
Zookeeper学习系列【三】Zookeeper 集群架构、读写机制以及一致性原理(ZAB协议)
Zookeeper学习系列【三】Zookeeper 集群架构、读写机制以及一致性原理(ZAB协议)
96 0
|
3月前
|
负载均衡 Ubuntu 应用服务中间件
如何在Nginx上阻止特定IP地址的访问,以增强服务器的安全性
如何在Nginx上阻止特定IP地址的访问,以增强服务器的安全性
56 0
如何在Nginx上阻止特定IP地址的访问,以增强服务器的安全性

热门文章

最新文章