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;
}
}

posted @ 2022-06-06 16:14  Gabydawei  阅读(23)  评论(0编辑  收藏  举报