`
LIMIMGJIE
  • 浏览: 173715 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Nginx提供了很多内置的变量

阅读更多
Nginx提供了很多内置的变量,如:
$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。

$scheme  所用的协议,比如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指令进行修改。


另外:
HTTP_X_FORWARDED_FOR是透过代理服务器取得客户端的真实IP地址,有些用此方法读取到的仍然是代理服务器的IP。还有一点需要注意的是:如果客户端没有通过代理服务器来访问,那么用 HTTP_X_FORWARDED_FOR 取到的值将是空的。
分享到:
评论

相关推荐

    nginx 内置变量详解及隔离进行简单的拦截

    nginx 有很多内置变量可以进行简单的过滤。 $arg_name 请求行中的name参数。 $args 请求行中参数字符串。 $cookie_name 名为name的cookie。 与$uri相同。 $http_name 任意请求头的值;变量名的后半部为转化为小写...

    php apache/nginx

    Apache提供了多种与PHP交互的内置函数,如: 1. `apache_child_terminate`:这个函数允许在当前请求结束时终止Apache子进程。这对于某些需要立即关闭进程的情况非常有用,例如在处理完大型文件上传或执行长时间任务...

    agentzh-nginx-tutorials-en.pdf

    3. **动态变量**:讲解了如何利用Nginx的内置机制来创建动态变量,例如通过HTTP请求头获取信息。 4. **变量间的相互引用**:阐述了变量如何相互引用,以及这种引用可能导致的问题和解决方案。 5. **变量的拼接**:...

    2019年BATJ最新面试414道题(含答案解析)Nginx篇.pdf

    在Nginx中获得当前时间,可以通过内置的变量$document_root和时间相关的格式化字符串来实现,例如:$time_local。 -s参数是Nginx提供的一个命令行选项,用于向运行中的Nginx进程发送信号,常用的命令包括nginx -s ...

    nginx代码分析

    - **脚本引擎**:Nginx内置了一个简单的脚本引擎,允许用户在配置文件中使用变量和条件语句。这增加了配置的灵活性,使得Nginx能够适应更广泛的场景需求。 #### 五、总结 通过对Nginx的进程模型、事件驱动架构、...

    前端开发需要了解的Nginx知识1

    nginx可以通过内置变量$http_user_agent,获取到请求客户端的userAgent,从而知道用户处于移动端还是PC,进而控制重定向到mobile站还是PC站。 server { listen 8001; server_name localhost; location / { # ...

    详解Nginx中的重定向功能

    对于处理URL参数的情况,Nginx提供了多个内置变量。`$args`变量包含了请求中的查询字符串,即URL中的`?`后面的部分。如果想要保留某些特定参数,可以使用`$arg_PARAMETER`,如: ```nginx rewrite ^/test....

    Nginx启用proxy_cache缓存的方法

    3. proxy_cache_key:设置用于缓存文件的命名规则,通常是Nginx的内置变量组合,例如使用$host和$request_uri来生成缓存文件名。 4. proxy_cache_valid:针对不同的HTTP响应状态码设置缓存时间,例如可以设置对304...

    OpenResty技能图谱.rar

    5. **OpenResty扩展库**:OpenResty生态中有很多强大的库,如lua-resty-http用于HTTP客户端操作,lua-resty-mysql连接MySQL数据库,lua-resty-redis处理Redis操作等,熟悉这些库能提升开发效率。 6. **性能优化与...

    openresty实践

    对于高级应用,还需要掌握如何使用Nginx的内置变量、 LuaRestyRedisLibrary进行Redis操作、如何防范SQL注入攻击、使用LuaCjsonLibrary进行JSON解析和处理LuaRestyDNSLibrary来解析域名等。 为了提升性能和扩展性,...

    个人简约博客,响应式布局兼容多端;支持多主题;黑暗模式;QQ、GitHub、Google快捷登录

    可能涉及到的技术包括Git版本控制、Docker容器化、Nginx反向代理、环境变量配置等。 8. **Readme文档**:Readme文件是项目的重要组成部分,通常包含项目介绍、安装指南、使用方法、开发和贡献者信息等。在这个项目...

    Python基于Django在线考试系统设计毕业源码案例设计.zip

    这个项目是一个全面学习和实践Django的好机会,涵盖Web开发的多个方面,对提升开发者在Python Web领域的技能有很大帮助。通过这个案例,你可以深入了解Django的架构,掌握如何构建复杂Web应用的技巧。

    php_editor

    9. **运行环境**:可能内置了一个简单的PHP运行环境,如Apache或Nginx服务器,以及PHP解释器,让用户无需额外配置即可运行和测试代码。 10. **教程与示例**:通过readme.txt文件,开发者可能提供了编辑器的使用说明...

    think.js说明文档

    - 框架不再默认内置很多功能,而是通过扩展来支持。 - 项目启动时,不再自动加载`src/bootstrap/`目录下的所有文件,而是在Master进程中加载`src/bootstrap/master.js`文件,在Worker进程中加载`src/bootstrap/...

    Laravel开发-bukkit-console

    8. **部署与运维**:项目部署涉及到配置Web服务器(如Apache或Nginx)、设置环境变量、数据库连接、安装依赖等。同时,持续集成/持续部署(CI/CD)工具如Jenkins或GitLab CI可能用于自动化部署流程。 9. **测试与...

    springboot教学改革项目管理系统(vue)源码数据库演示.zip

    总的来说,这个项目提供了一个完整的、实际运行的SpringBoot+Vue教学管理系统实例,对于学习和实践Java后端开发、前端Vue应用以及数据库设计都有很高的参考价值。学生可以通过该项目深入了解Web应用的开发流程,提升...

    一个基于Django的电子产品销售网站.zip

    【标题】:基于Django的电子产品...总之,这个项目涵盖了Django开发的多个核心概念和技术,对于学习Web开发和电商网站构建具有很高的参考价值。通过研究和实践,你可以深入了解Django的工作原理,提升你的Web开发技能。

    一鱼PHP框架(WillPHP) v3.2.2.zip

    WillPHP框架的版本3.2.2包含了多项关键特性,旨在提高开发效率并提供稳定的基础结构。 1. **URL重写**: `rewrite.apache` 和 `rewrite.iis` 文件是针对Apache和IIS服务器的URL重写规则配置。这些文件用于实现友好的...

Global site tag (gtag.js) - Google Analytics