众所周知,nginx中set $xxx 'hello';就是通过用set指令给变量xxx设置hello的字符串值,在nginx中调用值的话,只需要$xxx就可以使用这个变量。
然而在nginx中,我们还可以直接用下面的变量,直接就可以获取对应的值。
$arg_参数名 在location中获取客户端请求的参数xx?name=123 那$arg_name就是对应的值123
$args, 请求中的参数字符串 比如 name=123&age=24
$content_length, HTTP请求信息里的"Content-Length"
$content_type, 请求信息里的"Content-Type"
$host, 请求信息中的"Host",如果请求中没有Host行,则等于设置的服务器名
$request_method, 请求的方法,比如"GET"、"POST"等
$remote_addr, 客户端地址
$remote_port, 客户端端口号
$remote_user, 客户端用户名,认证用;
$request_filename, 当前请求的文件路径名
$request_uri, 请求的URI,带参数
$query_string, 与$args相同
$scheme, 所用的协议,比如http或者是https,比如rewrite ^(.+)$ $scheme://example.com$1 redirect
$server_protocol, 请求的协议版本,"HTTP/1.0"或"HTTP/1.1"
$server_addr, 服务器地址
$server_name, 请求到达的服务器名