模块1: nginx访问模块
1.autoindex模块以列表方式显示目录
配置:
server {
listen 80;
server_name www.download.com;
root /code/1;
auto index; # 开启列表方式访问
charset utf-8,gbk; # 字符集
autoindex_exact_size off; # 以KB MB GB方式显示文件大小
autoindex_localtime on; # 以本地文件时间为准 在页面上显示
}
注意: 需要删除/code/1下面的index.html
模块二: nginx stbu_status状态模块 # 重要 7个值
Active connections: 2
server accepts handled requests
10 10 16
Reading: 0 Writing: 1 Waiting: 1
ngx_http_stub_status_module
模块提供对基本状态信息的访问。
默认情况下不构建此模块,应使用--with-http_stub_status_module
配置参数启用它
配置:
server {
listen 80;
server_name test.com;
access_log off;
location /nginx_status {
stub_status;
}
}
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| bash Active connections # 当前活动的连接数 accepts # 已接收T的总TCP连接数量 handled # 已处理的TCP连接数量 requests # 当前http请求数 Reading # 当前读取请求头数量 Writing # 当前响应的请求头数量 Waiting # 等待的请求数,开启了keepalive # 注意, 一次TCP的连接,可以发起多次http的请求, 如下参数可配置进行验证 keepalive_timeout 0; # 类似于关闭长连接 keepalive_timeout 65; # 65s没有活动则断开连接
|
Nginx访问控制 {#title-3}
基于IP的访问控制 http_access_module
基于用户登陆认证 http_auth_basic_module
nginx基于IP的访问控制
1)访问控制配置示例,拒绝指定的IP,其他全部允许
server {
listen 80;
server_name module.baimei.com;
access_log off;
location /nginx_status {
stub_status;
deny 10.0.0.1;
allow all;
}
}
- 访问控制配置示例, 只允许谁能访问, 其它全部拒绝
server {
listen 80;
server_name module.baimei.com;
access_log off;
location /nginx_status {
stub_status;
allow 10.0.0.0/24;
allow 127.0.0.1;
deny all;
}
}
Nginx基于用户登陆认证
1)基于用户登陆认证配置语法
#访问提示字符串
Syntax: auth_basic string| off;
Default: auth_basic off;
Context: http, server, location, limit_except
#账户密码文件
Syntax: auth_basic_user_file file;
Default: -
Context: http, server, location, limit_except
2)基于用户登陆认证配置实践
#1.需要安装httpd-tools,该包中携带了htpasswd命令
[root@web01 ~]# yum install httpd-tools
#2.创建新的密码文件, -c创建新文件 -b允许命令行输入密码
[root@web01 ~]# htpasswd -b -c /etc/nginx/auth_conf baimei baimei
#3.nginx配置调用
server {
listen 80;
server_name module.baimei.com;
access_log off;
location /nginx_status {
stub_status;
auth_basic "Auth access Blog Input your Passwd!";
auth_basic_user_file auth_conf;
}
}
Nginx访问限制 {#title-4}
在企业中经常会遇到这种情况,服务器流量异常,负载过大等等。对于大流量恶意的攻击访问, 会带来带宽的浪费,服务器压力,影响业务,往往考虑对同一个ip的连接数,请求数、进行限制。
ngx_http_limit_conn_module
模块可以根据定义的key
来限制每个键值的连接数,如同一个IP来源的连接数。
limit_conn_module
连接频率限制
limit_req_module
请求频率限制
Nginx连接限制配置实战
知识点小结:
1.访问控制模块 了解
2.状态模块: stub_status Nginx7种状态 重点
3.安全限制模块: 了解
allow
deny
4.安全访问验证: auth_basic 了解
5.限制TCP连接请求: limit_conn # 懂
6.限制请求数链接: limit_req # 懂
7.location 匹配规则 面试点(背过)
= 优先级最高
^~
~
~*
/data
/