Nginx进阶篇 :Nginx proxy服务器

1.代理原理

正向代理:内网客户端通过代理访问互联网,通常要设置代理服务器地址和端口。

反向代理:外网用户通过代理访问内网服务器,内网服务器无感知。

正向代理和反向代理的区别:

(1)正向代理其实就是客户端的代理,帮助客户端访问其无法访问的服务器资源。反向代理则是服务器端代理,帮助服务器做负载均衡,安全防护等。

(2)正向代理一般是客户端架设的,比如在自己的机器上安装一个代理软件。而反向代理一般是服务器架设的,比如在自己的机器集群中部署一个反向代理服务器。

(3)正向代理中,服务器不知道真正的客户端到底是谁,以为访问自己的就是真实的哭护短。在反向代理中,客户端不知道真正的服务器是谁,以为自己访问的就是真实的服务器。

(4)正向代理和反向代理的作用和目的不同。正向代理主要是用啦解决访问限制问题。而反向代理则是提供负载均衡、安全防护等作用。二者均能提高访问速度。

 2.proxy代理(ngx_http_proxy_module)

语法:

代理

Syntax: proxy_pass URL; 代理的后端服务器URL

Default: --

Context: location,if in location,limit_except

缓冲区

Syntax: proxy_buffering on | off; 缓冲开关

Default: proxy_buffering on

Context: http,server,location

proxy_buffering开启的情况下,nginx会把后端返回的内容先放到缓冲区中,然后再返回给客户端(边收边传,不是全部接受完再传给客户端)

Syntax: proxy_buffers_size size;

Default: proxy_buffers 8 4k | 8k; 缓冲区大小

Context: http,server,location

Syntax: proxy_busy_buffers_size size;

Default: proxy_busy_buffers  8k | 16k; 忙碌的缓冲区大小,控制同时传递给客户端的buffer数量

Context: http,server,location

超时

Syntax: proxy_read_timeout time;

Default: proxy_read_timeout 60s; 连接超时

Context: http,server,location

Syntax: proxy_connect_timeout time;

Default: proxy_connect_timeout 60s;

Context: http,server,location

Syntax: proxy_send_timeout time;

Default: proxy_send_timeout 60s; nginx进程向fastcgi进程发送request的整个进程的超时时间

Context: http,server,location

3.启用代理

环境:两台nginx服务器(如果做了前面的实验,一定要把前面的实验内容清掉)

nginx-1:(安装nginx,前面的内容里面有nginx的配置,这里就不再写环境配置信息了,直接安装)

yum install -y nginx

systemctl start nginx

#配置环境,把网页的内容改一下

Nginx进阶篇 :Nginx proxy服务器_第1张图片

nginx-2:启动代理程序

yum install -y nginx

systemctl start nginx

vim /etc/nginx/conf.d/default.conf

Nginx进阶篇 :Nginx proxy服务器_第2张图片

 systemctl restart nginx

 4.使用pc客户端访问nginx-2服务器地址,观察nginx-1服务器的日志

cat /var/log/nginx/access.log

访问成功,记录了客户机的ip和代理服务器的ip

你可能感兴趣的:(服务器,nginx,运维)