day13.1
day13.1
目录
nginx常用模块
nginx目录索引模块
# ngx_http_autoindex_module 模块处理以斜杠字符('/')结尾的请求,并生成目录列表。 当ngx_http_index_module 模块找不到索引文件时,通常会将请求传递给 ngx_http_autoindex_module 模块。
[root@web02 ~]# vim /etc/nginx/conf.d/wc.conf
server{
# 监听端口
listen 80;
# 域名(ip,localhost,-,)
server_name 10.0.0.8;
# 站点目录
root /wc;
# uri
location /{
# 目录索引模块;开启
autoindex on;
# 显示单位大小
autoindex_exact_size off;
# 显示本地时间
autoindex_localtime on;
}
}
windows启用Telnet命令
nginx访问控制模块
基于用户密码(auth_basic)
# 安装htpasswd命令
[root@web02 ~]# yum install -y httpd
# 创建存放认证文件的目录
[root@web03 conf.d]# mkdir /etc/nginx/auth
# 创建认证文件
[root@web03 conf.d]# htpasswd -b -c /etc/nginx/auth/wc_auth wc 12
-b:允许命令行中输入密码
-c:创建一个新文件,将用户名和密码保存到指定文件中
# 创建多个认证用户
[root@web03 conf.d]# htpasswd -b /etc/nginx/auth/wc_auth ww 11
# 查看认证文件内容
[root@web03 conf.d]# cat /etc/nginx/auth/wc_auth
wc:$apr1$5Xnfs8ND$ArxqtRU3WquGHvD4wxg1J.
ww:$apr1$4upCj5rE$GPJTcrmOAFb8bwU21.KHU0
# 修改nginx配置文件,添加认证
[root@web03 conf.d]# vim wc.conf
server{
listen 80;
server_name 10.0.0.9;
# 认证信息
auth_basic "123";
# 认证文件的存放路径
auth_basic_user_file /etc/nginx/auth/wc_auth ;
location /{
root /wc;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
location /wc{
stub_status;
}
}
基于IP访问控制(access)
[root@web03 conf.d]# vim wc.conf
server{
listen 80;
server_name 10.0.0.9;
auth_basic "123"; #添加认证
auth_basic_user_file /etc/nginx/auth/wc_auth ;
location /{
root /wc; #状态模块
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
location /wc{ #监视访问
stub_status;
}
location /wc{ #允许ip访问
allow 10.0.0.8;
deny all;
}
}
访问频率限制
连接频率限制(limit_conn)
# 在http标签段定义请求限制
[root@web02 nginx]# vim nginx.conf
http{
limit_conn_zone $remote_addr zone=随便起内存空间的名字:10m;
# 在需要使用的站点目录下的server层下创建配置文件
server {
limit_conn 随便起内存空间的名字 1;(连接数)
请求频率限制(limit_req)
# 在http标签段定义请求限制,rate限制速率,限制一秒钟最多一个IP请求
http {
limit_req_zone $binary_remote_addr zone=req_zone:10m rate=1r/s;
# 在需要使用的站点目录下的server层下创建配置文件
[root@web02 wc]# cat /etc/nginx/conf.d/wc.conf
server{
listen 80;
server_name 10.0.0.8;
root /wc;
# 请求超过1r/s,剩下的将被延迟处理,请求数据burst定义的数量,多余的请求返回503
limit_req zone=req_zone burst=3 nodelay;
# 自定义返回状态码(400-599之间)
limit_req_status 508;
# 错误页面配置,可以放图片或者文字,当出现错误508就会去站点目录下的/508.HTML下找配置文件
error_page 508 /508.html;
location /{
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
# allow 10.0.0.7;
# deny all;
}
location /wc {
stub_status;
auth_basic "closed site" ;
auth_basic_user_file /etc/nginx/auth/wc_auth;
}
}