欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

nginx代理常用基础配置参数

程序员文章站 2024-02-20 19:54:10
...
原文链接:https://www.cpweb.top/607

1、附加额外的请求头信息传递到后端服务器

Syntax:	 proxy_set_header field value;              //将value的值赋值给field字段
Default: proxy_set_header Host $proxy_host;
         proxy_set_header Connection close;
Context: http, server, location

示例配置:

// 传递域名给后端服务器,不设置此项,默认传递ip给后端。
proxy_set_header Host $http_host;

// 最后一层代理的IP地址。多层代理会覆盖,只显示最后一层代理IP地址。
proxy_set_header X-Real-IP $remote_addr;

// 透传真实客户端地址。客户端通过代理访问后端服务器,访问日志定义的X-Forwarded-For字段会显示客户端的真实ip。多层代理会追加。
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

2、超时时间相关

// 代理服务器与后端服务器连接超时时间
Syntax:	 proxy_connect_timeout time;
Default: proxy_connect_timeout 60s;
Context: http, server, location

// 代理服务器等待后端服务器响应的超时时间
Syntax:  proxy_read_timeout time;
Default: proxy_read_timeout 60s;
Context: http, server, location

// 后端服务器数据回传给代理服务器超时时间
Syntax:  proxy_send_timeout time;
Default: proxy_send_timeout 60s;
Context: http, server, location

3、buffer缓冲相关(可能有误,没有弄明白)

// 开启内容缓冲,nignx会把后端返回的内容先放到缓冲区当中,然后再返回给客户端。
Syntax:  proxy_buffering on | off;
Default: proxy_buffering on;
Context: http, server, location

// 设置代理服务器保存响应头信息的缓冲区大小。这个参数并不受proxy_buffering开启或关闭的影响,它始终都是生效的。
Syntax:  proxy_buffer_size size;
Default: proxy_buffer_size 4k|8k;
Context: http, server, location

// 响应缓冲区的个数和大小,响应内容先写入缓冲区,写满或者写完,立即发送给客户端。这里设置的缓冲区大小是针对每个请求连接而言的。
Syntax:  proxy_buffers number size;
Default: proxy_buffers 8 4k|8k;
Context: http, server, location

示例配置:

proxy_buffering on;
proxy_buffer_size 32k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 96k;

4、示例

[[email protected] ~]# cat /etc/nginx/conf.d/proxy_wordpress.conf 
upstream wordpress {
    server 172.16.1.7:80;
    server 172.16.1.8:80;
}

server {
    listen 80;
    server_name wordpress.cp.com;

    location / {
        proxy_pass http://wordpress;
        include proxy_params;
    }
}
[[email protected] ~]# cat /etc/nginx/proxy_params      //注意根据网站实际情况配置
proxy_http_version 1.1;     //设置HTTP代理协议版本。 默认情况下,使用的是1.0版本,官方推荐使用1.1。

proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;

proxy_buffering on;
proxy_buffer_size 32k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 96k;
相关标签: nginx