Nginx常用模块
2018-12-03 10:16:43 0 举报
AI智能生成
nginx常用模块
作者其他创作
大纲/内容
访问控制模块
基于IP地址ngx_http_access_module
配置示例
allow
deny
基于用户名和密码ngx_http_auth_basic_module
auth_basic
auth_basic_user_file
htpasswd -b -c /etc/nginx/auth_conf 用户名 密码
访问限制模块
连接限制ngx_http_limit_conn_module
#1.定义连接限制http{limit_conn_zone $binary_remote_addr zone=conn_kt:10M;}
#2.调用连接的限制server { limit_conn_zone conn_kt 1;}
# 3.注意是否开启了长连接,因为开启长连接可能后面的刷新都是http的请求
请求限制ngx_http_limit_req_module
请求限制语法
Nginx常用模块
目录索引模块ngx_http_autoindex_module
autoindex
autoindex_exact_size
autoindex_format
autoindex_localtime
状态监控模块ngx_http_stub_status_module
语法&语境
日志模块ngx_http_log_module
Nginx日志格式允许包含的变量
$remote_addr\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0 # 记录客户端IP地址
$remote_user\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0 # 记录客户端用户名
$time_local\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0 # 记录通用的本地时间
$time_iso8601 # 记录ISO8601标准格式下的本地时间
$request\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0 # 记录请求的方法以及请求的http协议
$status # 记录请求状态码(用于定位错误信息)
$body_bytes_sent\u00A0\u00A0\u00A0 # 发送给客户端的资源字节数,不包括响应头的大小
$bytes_sent # 发送给客户端的总字节数
$msec # 日志写入时间。单位为秒,精度是毫秒。
$http_referer # 记录从哪个页面链接访问过来的
$http_user_agent # 记录客户端浏览器相关信息
$http_x_forwarded_for #记录客户端IP地址
$request_length\u00A0\u00A0\u00A0\u00A0 # 请求的长度(包括请求行, 请求头和请求正文)
$request_time # 请求花费的时间,单位为秒,精度毫秒
# 注:如果Nginx位于负载均衡器,nginx反向代理之后, web服务器无法直接获取到客 户端真实的IP地址。# $remote_addr获取的是反向代理的IP地址。 反向代理服务器在转发请求的http头信息中,# 增加X-Forwarded-For信息,用来记录客户端IP地址和客户端请求的服务器地址。
Nginx虚拟主机
基于域名
示例配置
font color=\"#c41230\
基于端口
如果网站都是使用不同的端口访问,那使用域名和不使用域名没有什么影响。 注意:只在公司内部才会使用到。
基于IP地址(不常用)
location优先级和匹配方式
= 精确匹配
^~ 以某个字符串开头
~ 区分大小写的正则匹配
~* 不区分大小写的正则匹配
!~ 区分大小写不匹配的正则
!~* 不区分大小写不匹配的正则
/\u00A0\u00A0 \u00A0\u00A0\u00A0\u00A0 通用匹配,任何请求都会匹配到
0 条评论
回复 删除
下一页