|
$args 该变量存放了请求 URL 中的请求指令。比如 http://www.groad.net/bbs/forum.php?mod=forumdisplay&fid=53 中的 mod=forumdisplay&fid=53 ,可以如下测试:
- if ($args ~* "mod=forumdisplay&fid=53") {
- return 400;
- }
复制代码
当你访问上述网址时,会看到服务器返回 400 的错误:
需要注意的是,如果 nginx 配置成正向代理,那么你返回 500 错误时,不会有效。
$content_length 变量中存放了请求头中的 Content-length 字段。
$content_type 变量中存放了请求头中的 Content-type 字段。
$document_root 变量中存放了针对当前请求的根路径。
$document_uri 变量中存放了请求中的当前 URI,并且不包含请求指令,比如 http://www.groad.net/bbs/forum.php?mod=forumdisplay&fid=53 中的 "/bbs" 。因此,如果用以下代码测试:
- if ($document_uri ~* "/bbs") {
- return 400;
- }
复制代码
就会无法访问到本站。
$host 变量中存放了请求 URL 中的主机部分字段,比如 http://www.groad.net/bbs/forum.php?mod=forumdisplay&fid=53 中的 www.groad.net 。如果请求中的主机部分字段不可用或为空,则存放 Ngnix 配置中该 server 块中 server_name 指令的配置值。
$http_user_agent 变量中存放客户端的代理信息。
$http_cookie 变量中存放客户端的 cookie 信息。
$limit_rate 变量中存放了 Nginx 服务器对网络连接速率的限制,也就是 Nginx 配置中 limit_rate 指令的配置值。
$remote_addr 变量中存放了客户端的地址。
$remote_port 变量中存放了客户端与服务器建立的连接端口号。
$remote_user 变量中存放了客户端的用户名。
$request_body_file 变量中存放了发给后端服务器的本地文件资源的名称。
$request_method 变量中存放了客户端的请求方式,如 "GET", "POST" 等。
$request_filename 变量中存放了当前请求资源文件的路径名。
$request_uri 变量中存放了当前的 URI,并且带请求指令。
$query_string 与变量 $args 含义相同。
$scheme 变量中存放了客户端请求使用的协议,比如 "http", "https" 和 "ftp" 等。
$server_protocol 变量中存放了客户端请求协议的版本,比如 “HTTP/1.0” , "HTTP/1.1" 等。
$server_addr 变量中存放了服务器的地址
$server_name 变量中存放了客户端请求到达的服务器的名称。
$server_port 变量中存放了客户端请求到达的服务器的端口号。
$uri 与变量 $document_uri 含义相同。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|