nginx的proxy模块详解以及参数
使用nginx配置代理的时候,肯定是要用到http_proxy模块。这个模块也是在安装nginx的时候默认安装。它的作用就是将请求转发到相应的服务器。
当nginx做反向代理的时候,nginx采用HTTP/1.1协议和客户端进行通信。使用HTTP/1.0协议和后端,也就是被代理的服务器进行通信。
参数详解:
基本参数
在配置反向代理的时候,只要配置上这个参数就能完成反向代理的功能,其余的参数结合自己的实际情况去添加,不添加也可以。
字段:proxy_pass URL
proxy_pass 后边配置ip地址也可以,配置域名也可以,当然是代理服务器必须能够访问后端服务器。
此参数要配置在location里边。
实例:
proxy_pass http://192.168.8.5:8080/uri
proxy_pass http://www.test.com/uri
附加参数
1、proxy_temp_path /tmp/proxy_temp;
这个参数配置在http,server,location
其主要作用就是在一个指定的本地目录来缓存较大的代理请求。一般都设置在临时目录中。
2、proxy_buffering on;
这个参数配置在http,server,location
这个指令用于开启对被代理服务器的应答缓存。
当此参数处于off状态的时候,从被代理服务器上获取的响应内容会直接传送给,发送请求的客户端。
当此参数处于on状态的时候,会从被代理服务器的应答保存到缓存里边,当应答无法在内存保存下的时候,就将部分写入磁盘。
3、proxy_buffer_size 4k;
该指令设置缓冲区大小,从被代理服务器取得的响应内容,会先读取放置到这里.小的响应header通常位于这部分响应内容里边.设置的过小,可能会产生502错误。
4、proxy_buffers 256 4k;
这个指令用于设置从被代理服务器读取应答内容的缓存区的数目和大小。数目可以任意定,但是一个缓存区的大小一般就是4k或者8k。
5、proxy_busy_buffers_size 8k;
在系统繁忙的时候可以申请更大的proxy_buffers缓冲区。一般就设置成proxy_buffers的二倍。
6、proxy_connect_timeout
这个指令用于设置和被代理服务器链接的超时时间,是代理服务器发起握手等待响应的超时时间。不要设置的太小,否则会报504错误。
7、proxy_read_timeout 60
这个参数配置在http,server,location
此指令用于设置从被代理服务器读取应答内容的超时时间。
8、proxy_max_temp_file_size 1G
设置临时文件的大小
9、proxy_method
用于允许代理其他HTTP方法。