Nginx安装比较简单,下面重点说一下关于反向代理功能的一些配置。
upstream 指令必须放在 http的上下文当中,创建一个RealServer的服务器池,并给这个服务器池取一个名字,以便后面引用该服务器池。
那么引用方式主要有这几个,fastcgi_pass, proxy_pass, memcached_pass,uwsgi_pass 等。
这里,我们先说一下proxy_pass 这个指令的用法:
1、proxy_pass URL 后面跟上一个URL,这个指令可以放在 location,if in location 中,比如下面的用法:
upstream web_pool
{
server 192.168.1.8;
server 192.168.1.9;
}
---------------
location / {
root html;
index index.html index.htm;
proxy_pass http://web_pool;
}
location /name/ {
proxy_pass http://192.168.1.9/index.html ;
}
2、下面关注一下 http_proxy模块的参数:
Nginx的代理功能是通过http_proxy模块来实现的,默认在安装nginx的时候,已经安装了该模块,来看一下每个选项代表什么意思:
proxy_set_header 设置由后端服务器获取用户的主机名或者真实的IP地址,以及代理者的真实IP地址;
需要做一个实验,来明白这个原理。
client_body_buffer_size 用于指定客户端请求主体缓冲区大小,可以理解为先保存到本地然后再传给客户;
proxy_connect_timeout 表示与后端服务器连接的超时时间,即发起握手等候响应的超时时间;
proxy_send_timeout 表示后端服务器的数据回传时间,即在规定时间之内后端服务器必须传完所有的数据,否则,nginx则断开这个连接;
proxy_read_timeout 设置nginx从代理的后端服务器获取信息的时间,表示连接建立成功后,nginx等待后端服务器的响应时间,