Nginx常用模块
2018-12-03 10:16:43 0 举报
AI智能生成
nginx常用模块
作者其他创作
大纲/内容
访问控制模块<br>
基于IP地址<br><b>ngx_http_access_module</b>
配置示例
allow
deny
基于用户名和密码<br><b>ngx_http_auth_basic_module</b>
配置示例
auth_basic
auth_basic_user_file
<b>htpasswd</b> -b -c /etc/nginx/auth_conf 用户名 密码
访问限制模块
<font color="#c41230"><b>连接限制</b></font><br>ngx_http_limit_conn_module
#1.定义连接限制<br>http{<br>limit_conn_zone $binary_remote_addr zone=conn_kt:10M;<br>}
#2.调用连接的限制<br>server { <br> limit_conn_zone conn_kt 1;<br>}
# 3.注意是否开启了长连接,<br>因为开启长连接可能后面的刷新都是http的请求
<font color="#c41230"><b>请求限制</b></font><br>ngx_http_limit_req_module
配置示例
请求限制语法
连接限制没有请求限制有效? <br> 多个请求可以建立在一次的TCP连接之上, 对请求的精度限制,比对一个连接的限制会更加的有效。 <br> 因为同一时刻只允许一个连接请求进入。 <br>但是同一时刻多个请求可以通过一个连接进入。 <br> <h1><font color="#c41230"><b>请求限制才是比较优的解决方案。</b></font></h1>
<b>目录索引模块</b><br><font color="#000000">ngx_http_autoindex_module</font>
autoindex
autoindex_exact_size
autoindex_format
autoindex_localtime
配置示例
<b>状态监控模块</b><br><font color="#000000">ngx_http_stub_status_module</font>
<b>配置示例</b>
语法&语境
<font color="#c41230"><b>日志模块</b></font><br><font color="#381e11">ngx_http_log_module</font>
配置示例
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地址。<br># $remote_addr获取的是反向代理的IP地址。 反向代理服务器在转发请求的http头信息中,<br># 增加X-Forwarded-For信息,用来记录客户端IP地址和客户端请求的服务器地址。
Nginx虚拟主机
基于域名<br>
示例配置
<h2><font color="#c41230"><b>默认返回的页面 index index.html</b></font> </h2>#默认返回index.html ,如果站点目录不存在index.html 则会报403<br><font color="#f15a23"><b>#如果客户端指定的资源不存在,服务器会报404</b></font><br>
基于端口
如果网站都是使用不同的端口访问,那使用域名和不使用域名没有什么影响。 <br> 注意:只在公司内部才会使用到。
基于IP地址(不常用)
location优先级和匹配方式
= 精确匹配 <br>
^~ 以某个字符串开头
~ 区分大小写的正则匹配
~* 不区分大小写的正则匹配
!~ 区分大小写不匹配的正则
!~* 不区分大小写不匹配的正则
/ 通用匹配,任何请求都会匹配到
0 条评论
下一页