nginx配置常用参数

nginx配置常用参数

内置变量

$remote_addr:客户端的IP地址。
$remote_port:客户端的端口。
$server_addr:服务器地址,在完成一次系统调用后可以确定这个值。
$server_port:请求到达服务器的端口号。
$server_protocol:请求使用的协议,通常是HTTP/1.0或HTTP/1.1。
$http_host:请求中的Host头字段,如果请求中没有Host头字段,则等于$server_name。
$request_uri:包含请求参数的原始URI,不包含主机名,如:"/foo/bar.php?arg=baz"。
$document_uri:与$uri相同。
$request_filename:当前请求的文件路径,由root或alias指令与URI请求生成。
$args:这个变量等于请求行中的参数,同$query_string。
$query_string:这个变量与$args相同。

代理相关变量

proxy_pass:
    指定代理服务器的地址和端口,以及可选的URI。Nginx会将请求转发到这个地址。
    示例:proxy_pass http://backend_server;
proxy_set_header:
    允许你重新定义或添加发送到代理服务器的请求头。
    常见的用法包括设置Host、X-Real-IP、X-Forwarded-For等头。
    示例:
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_hide_header:
    指定哪些头不应该被发送到客户端。默认情况下,Nginx不会转发某些头,如Date、Server等,但你可以使用此指令添加其他头。
    示例:proxy_hide_header X-Powered-By;
proxy_connect_timeout:
    设置与代理服务器的连接超时时间。
    示例:proxy_connect_timeout 60s;
proxy_send_timeout:
    设置向代理服务器发送请求的超时时间。
    示例:proxy_send_timeout 60s;
proxy_read_timeout:
    设置从代理服务器读取响应的超时时间。
    示例:proxy_read_timeout 60s;
proxy_buffering:
    启用或禁用从代理服务器读取响应的缓冲。
    示例:proxy_buffering on; 或 proxy_buffering off;
proxy_buffer_size:
    设置单个缓冲区的大小。
    示例:proxy_buffer_size 4k;
proxy_buffers:
    设置响应缓冲区的数量和大小。
    示例:proxy_buffers 8 32k;(8个缓冲区,每个缓冲区32k大小)
proxy_busy_buffers_size:
    在响应被发送到客户端之前,Nginx会尽量将尽可能多的数据从代理服务器读取到缓冲区中。这个指令设置了在高流量期间可以用于临时存储尚未发送给客户端的数据的缓冲区大小。
    示例:proxy_busy_buffers_size 64k;
proxy_temp_path:
    设置用于存储临时文件的路径。当Nginx需要将大量数据从代理服务器读取到本地文件时,它会使用这个路径。
    示例:proxy_temp_path /var/cache/nginx/proxy_temp;
proxy_max_temp_file_size:
    设置Nginx可以写入临时文件的最大数据量。当请求体的大小超过此限制时,Nginx会返回一个错误。
    示例:proxy_max_temp_file_size 1024m;
proxy_method:
    更改发送到代理服务器的请求方法。例如,你可以将GET请求更改为POST请求。
    示例:proxy_method POST;
proxy_http_version:
    设置与代理服务器通信的HTTP协议版本。
    示例:proxy_http_version 1.1;
proxy_ignore_headers:
    定义哪些响应头应该被Nginx忽略,而不是应用到客户端连接。
    示例:proxy_ignore_headers X-Accel-Redirect X-Accel-Expires;

location配置格式

location [=|~|~*|^~|@] /uri/ {  

    # 配置指令...  

}

=:精确匹配。如果请求的 URI 完全匹配指定的字符串,则使用该 location 块。
~:区分大小写的正则匹配。如果请求的 URI 与指定的正则表达式匹配,则使用该 location 块。
~*:不区分大小写的正则匹配。
^~:如果请求的 URI 以指定的字符串开始,则使用该 location 块,并且不再进行正则匹配。
@:命名位置,通常用于内部重定向到某个 location,或者用于 try_files 指令中。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注