Nginx 反向代理
01
反向代理介绍
02
应⽤场景
03
反向代理原理
04
反向代理实现
反向代理介绍 01
反向代理介绍:
代理服务器,客户机在发送请求时,不会直接发送给目的主机,
而是先发送给代理服务器,代理服务接受客户机请求之后,
再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。
应⽤场景 02
应⽤场景
• 堡垒机场景
• 内⽹服务器发布场景
• 缓存场景
堡垒机:
安全配置只接受来自堡垒机的链接访问,其他都拒绝,
发布内网服务器
适合于公网IP地址不⾜的场景
缓存场景
反向代理原理 03
• 1) 客户端通过浏览器 发起请求 代理服务器
• 2)代理服务器 接受请求
• 3) 代理服务器 发起请求 业务服务器
• 4)业务服务器 接受请求
• 5)业务服务器 处理请求
• 6) 业务服务器 响应请求 代理服务器
• 7)代理服务器 响应请求 客户端
• 8)客户端通过浏览器渲染请求并展示给⽤户
反向代理实现 04
实现代码
location / {
index index.php index.html index.htm; #定义⾸⻚索引⽂件的名称
proxy_pass http://mysvr ;#请求转向mysvr 定义的服务器列表
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m; #允许客户端请求的最⼤单⽂件字节数
client_body_buffer_size 128k; #缓冲区代理缓冲⽤户端请求的最⼤字节数,
proxy_connect_timeout 90; #nginx跟后端服务器连接超时时间(代理连接超时)
proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时)
proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时)
proxy_buffer_size 4k; #设置代理服务器(nginx)保存⽤户头信息的缓冲区⼤⼩
proxy_buffers 4 32k; #proxy_buffers缓冲区,⽹⻚平均在32k以下的话,这样设置
proxy_busy_buffers_size 64k; #⾼负荷下缓冲⼤⼩(proxy_buffers*2)
proxy_temp_file_write_size 64k; #设定缓存⽂件夹⼤⼩,⼤于这个值,将从upstream服务器传
}