nginx反向代理

2024-01-08 20:26:22

一、代理介绍

代理在网络中使用是比较常见的,比如我们说的最多的就是翻墙软件,比如s s、蓝deng等这些大家常用的软件,他们就是能改代理大家访问国内无法访问的一些国外网站,比如face*book、YouTub *e等网站。其原理也比较简单:

1)用户将请求发给代理服务器

2)代理服务器代用户去访问数据

3)代理服务器将数据给用户

正常没有代理情况上网

反代1.png

代理服务器场景

反代2.png

代理服务器扮演的就是一个中间人的角色。

代理分为正向代理和反向代理两种类型:

正向代理:代理用户访问其他网站,比如ss,蓝灯。

反向代理:用来发布服务器,比如nginx

树明主要给大家介绍的是反向代理,使用反向代理发布公司的站点。(国家严厉打击私单乱建翻墙代理服务器)

二、应用场景

1)堡垒机:堡垒机承担所有的外部访问,保护后端服务器的安全

反代堡垒机.png

2)业务发布服务器:将多个服务器通过虚拟主机的方式发布到公网

反代发布服务器.png

3)缓存服务器:CDN加速
反代缓存服务器.png

三、反向代理原理

\1) 客户端通过浏览器 发起请求 代理服务器

2)代理服务器 接受请求

\3) 代理服务器 发起请求 业务服务器

4)业务服务器 接受请求

5)业务服务器 处理请求

\6) 业务服务器 响应请求 代理服务器

7)代理服务器 响应请求 客户端

8)客户端通过浏览器渲染请求并展示给用户

四、反向代理实现

proxy_pass: nginx反向代理指令

反向代理实现

location / {

index index.php index.html index.htm; #定义首页索引文件的名称

proxy_pass http://mysvr ;#请求转向mysvr 定义的服务器列表

}

反向代理优化

proxy_set_header Host $host;   #修改请求头,添加Host字段

proxy_set_header X-Real-IP $remote_addr;   #修改请求头,添加X-Real-IP字段

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;   #修改请求头,添加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服务器传

文章来源:https://blog.csdn.net/m0_48096446/article/details/135414003
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。