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