一.代理:
Nginx作为代理:
正向代理,是在用户端的。比如需要访问某些国外网站,我们可能需要购买vpn。
并且vpn是在我们的用户浏览器端设置的(并不是在远端的服务器设置)。
浏览器先访问vpn地址,vpn地址转发请求,并最后将请求结果原路返回来。
反向代理是作用在服务器端的,是一个虚拟ip(VIP)。对于用户的一个请求,会转发到多个后端处理器中的一台来处理该具体请求。
大型网站都有DNS(域名解析服务器),load balance(负载均衡器)等。
Nginx代理模块:
proxy_pass URL
URL为要设置的被代理服务器的地址,包括传输协议、主机名称或IP地址加端口号、URI等要素
二. 配置代理
nginx作为反代配置:
location / {
root /usr/share/nginx/html;
#expires 1h;
index index.html index.htm;
proxy_pass http://192.168.0.21:8090; //请求其他机器的apache
}
例:
三. 配置代理其他模块
location / {
root /usr/share/nginx/html;
#expires 1h;
index index.html index.htm;
proxy_pass http://192.168.0.21:8090; //跳转配置
proxy_redirect default;
proxy_set_header Host $http_host; //允许重新定义或者添加发往后端服务器的请求头。
proxy_set_header X-Real-IP $remote_addr; //获取用户真实ip
proxy_connect_timeout 30; //tcp请求超时时间 默认为60秒
proxy_send_timeout 60; //服务端向客户端传输数据的超时时间。
proxy_read_timeout 60; //该指令设置与代理服务器的读超时时间
proxy_buffer_size 32k; //设置缓冲区大小,从代理后端服务器取得的第一部分的响应内容,会放到这里.
proxy_buffering on; //在 proxy_buffering 开启的时候,proxy_buffers 和 proxy_busy_buffers_size 才会起作用。
proxy_buffers 4 128k; //指定一个 request 的 buffer 的数量和大小。
proxy_busy_buffers_size 256k; //忙时 buffer 的最大值。一个客户端一次只能从一个 buffer 中读取数据的同时,剩下的 buffer 会被放到队列中,等待发送到客户端,这个 directive 指定在这个状态下的 buffer 的大小。
proxy_max_temp_file_size 256k;
}