Nginx 全局变量

文章详细介绍了Nginx配置中常见的变量如$host,$document_uri,$args,$request_uri等的含义,并提供了Curl命令的使用示例,包括如何设置HTTP头信息、伪造referer以及处理URL参数。
摘要由CSDN通过智能技术生成
变量说明
$host

域名部分

www.baidu.com/1.php?a=1&b=2

$document_uri

当前请求中不包含参数的uri

www.baidu.com/1.php?a=1&b=2

$uri和 $document_uri 一样
$args

请求中的参数。

www.baidu.com/1.php?a=1&b=2

$args是a=1&b=2

$request_uri

请求的URI。

www.baidu.com/1.php?a=1&b=2

相当于$document_uri + $args

$http_referer

客户端请求的referer,就是该请求是通过哪个链接跳转进来的。

用curl -e 可以指定。

$remote_addr

客户端的公网IP

(可以直接百度输入"ip"查询本机)

$remote_port客户端的端口
$document_root

nginx虚拟主机配置文件中的root参数对应的值。

(也就是文件放置的位置。)

$request_filename

当前请求资源文件路径名称。

相当于 $document_root + $document_uri 的组合

$http_user_agent

客户端信息,浏览器的信息。可伪造。

curl -A 可指定

$content_lengthHTTP请求中 Content_Length
$content_typeHTTP请求中 Content_Type
$remote_user如果nginx有配置认证,代表客户端认证的用户名
$request_body_file做反向代理时发给后端服务器的本地资源的名称
$request_method请求资源的方式, GET,POST等
$http_cookie客户端的cookie信息
$server_protocol

客户端请求的协议的版本

HTTP/1.0   HTTP/1.1   HTTP/2.0 等

$server_addr服务器IP地址
$server_port服务器端口号

可以简单用 return 以字符串形式返回变量。

注意:  return 字符串的返回,必须前面先要写返回状态码。

 例子:指定返回客户端信息

例子:$request_uri = $document_uri + $args

 例子: $request_filename = $document_root / $document_uri

例子: $uri = $document_uri

例子: $http_referer 

 

没跳转时,curl不指定是空的,curl -e 指定以后可以伪造出。

 

在curl的输出显示中换行

curl 返回的输出中是连着命令行的,在return中写入/r/n都不好用,即使写成\/r \/n都不行,打印结果都会显示为跟着命令行的形式,如下:

其实直接在字符串中回车就可以了,如下:

curl的url中有多个参数

注意:当curl的url中有多个参数的时候,需要用双引号引起来,不然其中的 & 会被当做是丢入后台的指令。

 正确写法是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值