【运维知识进阶篇】集群架构-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所以访问失败,权限拒绝

目录
相关文章
|
10月前
|
机器学习/深度学习 人工智能 运维
云架构不是养祖宗,智能运维教你省心又省钱
云架构不是养祖宗,智能运维教你省心又省钱
249 2
|
10月前
|
数据采集 运维 数据可视化
AR 运维系统与 MES、EMA、IoT 系统的融合架构与实践
AR运维系统融合IoT、EMA、MES数据,构建“感知-分析-决策-执行”闭环。通过AR终端实现设备数据可视化,实时呈现温度、工单等信息,提升运维效率与生产可靠性。(238字)
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限。它通过设置一系列规则,控制谁可以访问特定资源、在什么条件下访问以及可以执行哪些操作。ACL 可以应用于路由器、防火墙等设备,分为标准、扩展、基于时间和基于用户等多种类型,广泛用于企业网络和互联网中,以增强安全性和精细管理。
2250 7
|
12月前
|
运维 监控 Cloud Native
从“守机器”到“写策略”——云原生架构把运维逼成了架构师
从“守机器”到“写策略”——云原生架构把运维逼成了架构师
324 1
|
运维 供应链 前端开发
中小医院云HIS系统源码,系统融合HIS与EMR功能,采用B/S架构与SaaS模式,快速交付并简化运维
这是一套专为中小医院和乡镇卫生院设计的云HIS系统源码,基于云端部署,采用B/S架构与SaaS模式,快速交付并简化运维。系统融合HIS与EMR功能,涵盖门诊挂号、预约管理、一体化电子病历、医生护士工作站、收费财务、药品进销存及统计分析等模块。技术栈包括前端Angular+Nginx,后端Java+Spring系列框架,数据库使用MySQL+MyCat。该系统实现患者管理、医嘱处理、费用结算、药品管控等核心业务全流程数字化,助力医疗机构提升效率和服务质量。
846 4
|
应用服务中间件 PHP nginx
当你的nginx服务器和php服务器不在一起的时候,这个nginx 的root目录问题
两个服务器的网站代码目录需要对齐,docker容器里面也是一样
|
存储 应用服务中间件 nginx
nginx反向代理bucket目录配置
该配置实现通过Nginx代理访问阿里云OSS存储桶中的图片资源。当用户访问代理域名下的图片URL(如 `http://代理域名/123.png`)时,Nginx会将请求转发到指定的OSS存储桶地址,并重写路径为 `/prod/files/2024/12/12/123.png`。
698 5
|
运维 监控 安全
自动化运维的利剑:Ansible在现代IT架构中的应用
在数字化浪潮中,企业对IT系统的敏捷性和可靠性要求日益提高。Ansible,一种简单但强大的自动化运维工具,正成为现代IT架构中不可或缺的一部分。它通过声明式编程语言YAM,简化了系统配置、应用部署和任务自动化的过程,显著提升了运维效率和准确性。本文将深入探讨Ansible的核心特性、应用场景以及如何有效整合进现有IT环境,为读者揭示其在自动化运维中的实用价值和未来发展潜力。
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全管理的重要工具,用于定义和管理网络资源的访问权限。
访问控制列表(ACL)是网络安全管理的重要工具,用于定义和管理网络资源的访问权限。ACL 可应用于路由器、防火墙等设备,通过设定规则控制访问。其类型包括标准、扩展、基于时间和基于用户的ACL,广泛用于企业网络和互联网安全中,以增强安全性、实现精细管理和灵活调整。然而,ACL 也存在管理复杂和可能影响性能的局限性。未来,ACL 将趋向智能化和自动化,与其他安全技术结合,提供更全面的安全保障。
1252 4
|
运维 Devops 应用服务中间件
自动化运维的利剑:Ansible在现代IT架构中的应用
【10月更文挑战第42天】本文旨在揭示自动化运维工具Ansible如何革新现代IT架构,通过简化配置管理和部署流程,提升效率和可靠性。我们将探索Ansible的核心功能、语言特性以及其在DevOps文化中的角色。文章还将展示如何借助Ansible构建模块化和可重用的配置代码,实现快速迭代与部署,并确保系统一致性。通过阅读本文,运维人员将了解如何利用Ansible优化日常任务,加速产品上线速度,同时提高系统的稳健性。
355 5