nginx内嵌变量

FORWARD:http://tengine.taobao.org/nginx_docs/cn/docs/http/ngx_http_core_module.html#variables

ngx_http_core_module模块支持内嵌变量,变量名与Apache服务器对应。 首先,这些变量可以表示客户端的请求头字段,诸如$http_user_agent、$http_cookie等等。 nginx也支持其他变量:

$arg_name
请求行中的name参数。
$args
请求行中参数字符串。
$binary_remote_addr
客户端IP地址的二进制形式,值的长度总是4字节。
$body_bytes_sent
nginx返回给客户端的字节数,不含响应头。
$bytes_sent
nginx返回给客户端的字节数(1.3.8, 1.2.5)。
$connection
连接的序列号(1.3.8, 1.2.5)。
$content_length
“Content-Length”请求头的值。
$content_type
“Content-Type”请求头的值。
$cookie_name
名为name的cookie。
$document_root
当前请求的root指令或alias指令的配置值。
$document_uri
与$uri相同。
$host
“Host”请求头的值,如果没有该请求头,则为与请求对应的虚拟主机的首要主机名。
$hostname
机器名称。
$http_name
任意请求头的值;变量名的后半部为转化为小写并且用下划线替代横线后的请求头名称。
$https
如果连接是SSL模块,返回“on”,否则返回空字符串。
$is_args
如果请求行带有参数,返回“?”,否则返回空字符串。
$limit_rate
允许设置此值来限制连接的传输速率。
$msec
当前时间,单位是秒,精度是毫秒。(1.3.9, 1.2.6)
$nginx_version
nginx版本号。
$pid
worker进程的PID。
$query_string
与$args相同。
$realpath_root
按root指令或alias指令算出的当前请求的绝对路径。其中的符号链接都会解析成真是文件路径。
$remote_addr
客户端IP地址。
$remote_port
客户端端口。
$remote_user
为基本用户认证提供的用户名。
$request
完整的原始请求行。
$request_body
请求正文。
在由proxy_pass指令和 fastcgi_pass指令处理的路径中, 这个变量值可用。

$request_body_file
请求正文的临时文件名。
处理完成时,临时文件将被删除。 如果希望总是将请求正文写入文件,需要开启client_body_in_file_only。 如果在被代理的请求或FastCGI请求中传递临时文件名,就应该禁止传递请求正文本身。 使用proxy_pass_request_body off指令 和fastcgi_pass_request_body off指令 分别禁止在代理和FastCGI中传递请求正文。

$request_completion
请求完成时返回“OK”,否则返回空字符串。
$request_filename
基于root指令或alias指令,以及请求URI,得到的当前请求的文件路径。
$request_method
HTTP方法,通常为“GET”或者“POST”。
$request_time
请求处理的时间,单位为秒,精度是毫秒(1.3.9, 1.2.6);请求处理时间从由客户端接收到第一个字节开始计算。
$request_uri
完整的原始请求行(带参数)。
$scheme
请求协议类型,为“http”或“https”。
$sent_http_name
任意的响应头字段的值。 变量名的后半部为转化为小写并且用下划线替代横线后的响应头名称。
$server_addr
接受请求的服务器地址。
为计算这个值,通常需要进行一次系统调用。为了避免系统调用,必须指定listen指令 的地址,并且使用bind参数。

$server_name
接受请求的虚拟主机的首要主机名。
$server_port
接受请求的虚拟主机的端口。
$server_protocol
请求协议,通常为“HTTP/1.0”或“HTTP/1.1”。
$status
响应状态码。
$tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, $tcpinfo_rcv_space
客户端TCP连接的信息,在支持套接字选项TCP_INFO的系统中可用。
$uri
当前请求规范化以后的URI。

nginx.conf 这里不是用于做ELK收集日志

user www-data;
worker_processes auto;
pid /run/nginx.pid;events {worker_connections 768;
}http {sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 65;types_hash_max_size 2048;include /etc/nginx/mime.types;default_type application/octet-stream;log_format logstash_json '{ "timestamp": "$time_local", ''"host": "$host", ''"remote_addr": "$remote_addr", ''"remote_user": "$remote_user", ''"body_bytes_sent": "$body_bytes_sent", ''"request_time": "$request_time", ''"status": "$status", ''"args": "$args", ''"request": "$request", ''"request_method": "$request_method", ''"http_referrer": "$http_referer", ''"document_uri": "$document_uri", ''"body_bytes_sent":"$body_bytes_sent", '                         '"bytes_sent":"$bytes_sent", ''"http_x_forwarded_for": "$http_x_forwarded_for", ''"http_user_agent": "$http_user_agent" }';access_log /var/log/nginx/access.log logstash_json;error_log /var/log/nginx/error.log;gzip on;gzip_disable "msie6";include /etc/nginx/conf.d/*.conf;include /etc/nginx/sites-enabled/*;
}
# tail -1 access.log 
{ "timestamp": "28/Dec/2017:15:05:17 +0800", "host": "www.weiops.com", "remote_addr": "124.204.59.157", "remote_user": "-", "body_bytes_sent": "209", "request_time": "0.000", "status": "404", "args": "name=zuowenhong", "request": "GET /index?name=zuowenhong HTTP/1.1", "request_method": "GET", "http_referrer": "-", "document_uri": "/index", "body_bytes_sent":"209", "bytes_sent":"404", "http_x_forwarded_for": "-", "http_user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36" }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/278737.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pdf文档遇到了共享冲突_如何将链接共享为PDF格式的Google文档链接

pdf文档遇到了共享冲突Using Google Docs is a great way to collaborate on and share documents. Sometimes, though, you want to provide somebody with a PDF instead of an editable document. Google Docs now lets you edit your sharing link to provide a PDF. Best …

Visual Studio 2019 preview中体验C# 8.0新语法

准备工作: Visual Studio 2019 Preview版本中并没有包含所有的C# 8.0的新功能,但目前也有一些可以试用了。在开始之前,需要进行入两项设置: 将Framework设置为.net core 3.0 将C#语法设置为8.0 也可以直接编辑.csproj文件&#x…

jQuery 对HTML的操作(二)

文章目录一、jQuery获取、设置HTML标签的内容和属性获得内容 - text()、html() 以及 val()获取属性 - attr(),prop()二、增删 HTML 的内容增加删除三、操作CSSaddClass 添加removeClass 删除toggleClass 切换css 获取与设置所有操作html、css方法参考 ☆四、操作元素…

roku能不能安装软件_如何在Roku中使用Google Assistant

roku能不能安装软件As more of our devices connect to each other, it’s always nice to know that different products from different companies work together. A Chromecast isn’t expensive, but being able to use your TV directly with Google Assistant is better.…

在线建立或重做mysql主从复制架构方法(传统模式和GTID模式)【转】

mysql主从复制架构,是mysql数据库主要特色之一,绝大多数公司都有用到。 而GTID模式是基于事务的复制模式的意思,发展到现在也是越来越多人用。 以前很多文章,介绍搭建mysql主从复制架构,是需要停止应用服务来做的,对于生产环境&am…

面试学习资料

1 Java面试资料总结 (github推荐指数高) 2 后端架构师 1. 综合 《Java 面试题 —— 老梁 Java 面试通关要点汇总集》《Java 面试题 —— 老徐 Java 初中级准备的面试题》《Java 面试题 —— 零度 Java 面试题系列》《Java 面试题 —— 东黄的学习方法和面…

jQuery对Ajax的封装应用(三)

文章目录一、Ajax二、load三、ajax(参数),get,set$.ajax$.ajax的get、post简写形式四、ajax全部方法参考 ☆一、Ajax AJAX 是与服务器交换数据的技术,它在不重载全部页面的情况下,实现了对部分网页的更新。…

如何使用卡巴斯基急救盘清理感染的PC

When you’re dealing with a PC that is completely infected in viruses, sometimes the best thing to do is reboot into a rescue disk and run a full virus scan from there. Here’s how to use the Kaspersky Rescue Disk to clean an infected PC. 当您要处理一台完全…

2018.12.08 codeforces 946D. Timetable(背包)

传送门 题意简述:有一个人上n天课,每天有m个小时的时间安排表(一个01串),为1表示要上课,否则不上课,求出如果可以最多翘kkk节课这nnn天在校待的总时间的最小值(一天必须在所有课上完…

jQuery杂项进阶(四)

文章目录一、$ 的替换二、使用JSONP实现跨域三、jQuery 杂项方法、实用工具、回调对象、延迟对象参考 ☆四、jQuery 自身属性参考 ☆五、jQuery 插件介绍和参考 ☆jQuery 树型菜单插件(Treeview)jQuery Validate表单验证,jQuery Password Validation(密码…

什么是WLIDSVC.EXE和WLIDSVCM.EXE,它们为什么运行?

You’re no doubt reading this article because you’re wondering what those two processes are doing cluttering up Task Manager, and also wondering why they are in capital letters. You’ve come to the right place. 毫无疑问,您阅读本文是因为您想知道…

[USACO10DEC] Treasure Chest

题目链接 90 Points:智障的区间 DP……设 dp[i][j] 表示区间 [i, j] 能取的最大价值,但我还是 sd 地开了第三维表示先取还是后取的价值。 交上去以为能 A,结果 #2 开心地 MLE……一看内存,64MB(把评测机吊起来打一顿&a…

工程化,模块化,组件化,规范化

前端讲究 工程化,模块化,组件化,层层递进。 一、工程化 工程化是整个工程的结构、样式和动作分离,工程化是一种思想而不是某种技术(当然为了实现工程化我们会用一些技术)。各种规范、技术选型、项目构建优…

linux压缩和解压缩_Linux QuickTip:一步下载和解压缩

linux压缩和解压缩Most of the time, when I download something it’s a file archive of some kind – usually a tarball or a zip file. This could be some source code for an app that isn’t included in Gentoo’s Portage tree, some documentation for an internal …

Spark架构与作业执行流程简介

2019独角兽企业重金招聘Python工程师标准>>> Spark架构与作业执行流程简介 博客分类: spark Local模式 运行Spark最简单的方法是通过Local模式(即伪分布式模式)。 运行命令为:./bin/run-example org.apache.spark.exam…

Spring boot整合Mongodb

最近的项目用了Mongodb,网上的用法大多都是七零八落的没有一个统一性,自己大概整理了下,项目中的相关配置就不叙述了,由于spring boot的快捷开发方式,所以spring boot项目中要使用Mongodb,只需要添加依赖和…

nodejs和Vue和Idea

文章目录Vue环境搭建Idea安装Idea中配置Vue环境Node.js介绍npm介绍Vue.js介绍[^3]Idea介绍Vue环境搭建 概述:vue环境搭建:需要npm(cnpm),而npm内嵌于Node.js,所以需要下载Node.js。 下载Node.js&#xff1…

Spring MVC上下文父子容器

2019独角兽企业重金招聘Python工程师标准>>> Spring MVC上下文父子容器 博客分类: java spring 在Spring MVC的启动依赖Spring框架,有时候我们在启动Spring MVC环境的时候,如果配置不当的话会造成一些不可预知的结果。下面主要介绍…

12.7 Test

目录 2018.12.7 TestA 序列sequence(迭代加深搜索)B 轰炸bomb(Tarjan DP)C 字符串string(AC自动机 状压DP)考试代码AC2018.12.7 Test题目为2018.1.4雅礼集训。 时间:4.5h期望得分:010010实际得分:010010 A 序列sequence(迭代加深搜索) 显然可…

word文档中统计总页数_如何在Google文档中查找页数和字数统计

word文档中统计总页数Whether you’ve been given an assignment with a strict limit or you just like knowing how many words you’ve written, Google Docs has your back. Here’s how to see exactly how many words or pages you’ve typed in your document. 无论您是…