记录访问的log,为了在出现特殊情况时,方便检查出现问题的地方。
log_format access '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
access_log /var/log/51yip.log access;
记录下,用户ip,用户真实ip,用户访问时间,用户访问的游览器信息等。这里面这样的$remote_addr变量是从哪来的呢?
$arg_PARAMETER 这个变量包含在查询字符串时GET请求PARAMETER的值。
$args 这个变量等于请求行中的参数。
$binary_remote_addr 二进制码形式的客户端地址。
$body_bytes_sent
$content_length 请求头中的Content-length字段。
$content_type 请求头中的Content-Type字段。
$cookie_COOKIE cookie COOKIE的值。
$document_root 当前请求在root指令中指定的值。
$document_uri 与$uri相同。
$host 请求中的主机头字段,如果请求中的主机头不可用,则为服务器处理请求的服务器名称。
$is_args 如果$args设置,值为"?",否则为""。
$limit_rate 这个变量可以限制连接速率。
$nginx_version 当前运行的nginx版本号。
$query_string 与$args相同。
$remote_addr 客户端的IP地址。
$remote_port 客户端的端口。
$remote_user 已经经过Auth Basic Module验证的用户名。
$request_filename 当前连接请求的文件路径,由root或alias指令与URI请求生成。
$request_body 这个变量(0.7.58+)包含请求的主要信息。在使用proxy_pass或fastcgi_pass指令的location中比较有意义。
$request_body_file 客户端请求主体信息的临时文件名。
$request_completion 请求完成
$request_method 这个变量是客户端请求的动作,通常为GET或POST。包括0.8.20及之前的版本中,这个变量总为main request中的动作,如果当前请求是一个子请求,并不使用这个当前请求的动作。
$request_uri 这个变量等于包含一些客户端请求参数的原始URI,它无法修改,请查看$uri更改或重写URI。
$schemeHTTP 方法(如http,https)。按需使用,例:
rewrite ^(.+)$ $scheme://example.com$1 redirect;
$server_addr 服务器地址,在完成一次系统调用后可以确定这个值,如果要绕开系统调用,则必须在listen中指定地址并且使用bind参数。
$server_name 服务器名称。
$server_port 请求到达服务器的端口号。
$server_protocol 请求使用的协议,通常是HTTP/1.0或HTTP/1.1。
$uri 请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改。
上面的这些是nginx 支持一些内置的变量,当然我们可以自定义,例如
$http_x_forwarded_for
这个变量就是自定义的,用来获得用了代理用户的真实IP。
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
分享到:
相关推荐
对于开发者来说,掌握如何利用 Nginx 来记录用户发送的 POST 请求内容及 Cookies 信息至关重要。这不仅可以帮助我们更好地调试应用程序,还能增强对用户行为的理解。 #### 一、理解 POST 请求和 Cookies 的概念 1....
access_log 指令用于记录访问日志,记录了每个请求的详细信息,包括客户端的 IP 地址、请求方法、请求 URL、响应状态码、响应时间等信息。access_log 指令可以在 Nginx 配置文件的多个级别中配置,包括主配置文件、...
3. `$time_local`:记录请求的时间,采用"小时:分钟:秒 月 日 年:周"的格式。 4. `"${request}"`:记录客户端发送的HTTP请求行,包括请求方法(GET、POST等)、请求的URL和HTTP协议版本。 5. `.HTTP_STATUS`:服务器...
服务器中的错误记录类似于这种: 124.65.133.242 – – [27/Oct/2014:14:30:51 +0800] “-” 400 0 “-” “-” 124.65.133.242 – – [27/Oct/2014:14:31:45 +0800] “-” 400 0 “-” ...经过分析nginx的log文件,发
1. **全面性**:Nginx日志记录了访问者IP、浏览器信息、请求参数等,提供了比Java请求日志更全面的信息。 2. **性能优化**:当请求量过大导致Java应用无法及时处理时,Nginx的日志可以帮助分析流量,排查问题,优化...
访问日志是 Nginx 服务器记录客户端请求信息的重要组件,我们可以通过 `access_log` 指令来设置访问日志的存放路径,例如 `access_log logs/host.access.log main;`,这将设置访问日志的存放路径为 logs/host.access...
Nginx日志描述 通过访问日志,你可以得到用户地域来源、跳转来源、使用终端、某个URL访问量等相关信息;...用于记录请求的url以及请求方法 $status 响应状态码,例如:200成功、404页面找不到等。 $body_byte
默认情况下,Nginx的主要访问日志文件通常位于`/var/log/nginx/access.log`,采用combined日志格式,内容包括客户端IP、时间戳、请求方法、请求URL、HTTP状态码、请求大小、用户代理等信息。例如: ``` 127.0.0.1 -...
错误日志则记录了Nginx处理请求过程中遇到的问题。默认级别为“error”,但可以根据需要调整到“warn”或“info”。 在处理中文乱码问题时,我们需要确保日志文件的编码设置正确。Nginx日志默认使用ISO-8859-1编码...
在Nginx服务器中,Access Log是记录客户端请求的重要日志,它包含了丰富的信息,可用于分析用户行为、优化网站性能和排查问题。了解和掌握Access Log的分析与配置对于任何Web服务的运维人员来说都至关重要。 1. **...
- Nginx的日志功能非常强大,可以记录客户端请求、服务器响应以及任何中间过程中的错误信息。通过合理配置,管理员能够获得详尽的服务运行状况报告,这对于故障排查、性能优化等方面非常重要。 ### 二、描述:...
Nginx作为一款高性能的HTTP和反向代理服务器,其Access Log记录了所有客户端请求的详细信息,是进行系统监控和问题排查的重要资源。在传统的日志分析中,AWK经常被用作工具来处理和解析这些日志,但当面对大量数据时...
此外,提供的链接“Nginx Log日志统计分析常用命令 - 阿阔 - 博客园.url”可能指向一篇详细介绍nginx日志分析命令的文章,提供了更多实用技巧。 总的来说,通过深入分析nginx日志,我们可以获取丰富的信息,为...
`nginx-log-parser` 是一个专门针对 Nginx 服务器日志进行分析的工具,通常用于收集、处理和提取日志中的关键信息,帮助系统管理员和开发者更好地理解网站的流量模式、用户行为以及可能存在的性能问题。该工具基于 ...
日志记录通常用于收集服务器的运行信息,如访问请求、错误报告等,便于分析服务器性能和排查问题。但关闭日志记录可以减少磁盘占用,提高服务器效率,同时在特定情况下保护用户隐私,例如在进行内部测试或不希望...
Nginx的日志记录可以自定义,包括添加或修改请求头信息。例如,如果你想记录用户的User-Agent,可以这样做: ```nginx log_format custom '$remote_addr - $remote_user [$time_local] ' '"$request" $status $...
在本文中,我们将探讨如何利用Nginx来记录分析响应慢的请求以及如何替换网站响应内容,主要涉及ngx_http_log_request_speed模块和ngx_http_sub_module模块。 首先,我们来看 ngx_http_log_request_speed 模块。这个...
"IPcounter_1531992172.log"可能是运行上述脚本后产生的结果文件,记录了特定时间点的统计信息。而"说明.txt"可能包含了脚本的使用方法、参数解释以及可能的注意事项。 理解这个过程不仅有助于你执行类似的任务,还...
Nginx 提供了强大的日志记录能力,可以记录客户端请求的详细信息。 **3.1.1 定义日志格式** 在 `http` 块中定义日志格式: ```nginx http { log_format main '[$time_local] $remote_addr - $remote_user ' '"$...
Lua脚本可以直接访问Nginx的上下文信息,如请求头、请求体、响应头等,也可以调用Nginx API执行诸如发送HTTP请求、读写文件等操作。 五、Nginx Lua开发实战 1. 动态路由:Lua可以处理复杂的路由规则,实现基于URL、...