Skip to content

代理服务器

1、正向代理

代理就是在客户端与服务器之间的代理服务器,正向代理是相对反向代理定义的概念。 正向代理就是正常的代理方式,比如:A主机是公司内网环境,无法访问外网,B主机可以访问外网,AB是互通的,那可以通过A访问B,B访问外网的方式达到A访问外网的效果。 所以,突破访问限制是正向代理的典型的应用场景,比如FanQiang软件就是寻找代理服务器的功能。 由于代理服务器的存在,服务器端并不知道真实的客户端地址,只知道代理服务器地址,所以在爬虫开发时,正向代理可以实现隐藏客户端真实IP,每次请求使用代理服务器不同的IP,降低被封禁的风险,同时也保护客户端真实IP信息。

2、反向代理

反向代理是指代理服务器接收到客户端的请求之后,根据负载均衡算法分配给对应的服务器地址。例如:一个网站有多个后端服务器,为了均衡的使用各个后端服务器,就可以通过反向代理配置。此时,客户端是不确定请求了哪个服务器的,隐藏了服务器真实IP

3、区别汇总

  • 简单理解,正向代理就是FangQiang软件;反向代理就是负载均衡;
  • 正向代理中服务器不清楚具体的客户端地址,反向代理中客户端不清楚具体的服务端地址。

Nginx代理应用场景

1、Web服务器

Nginx可以作为独立的Web服务器,处理HTTP请求并向客户端发送响应。 Nginx 对于静态文件(如 HTML、CSS、JavaScript、图片、音频文件等)的处理效率极高。它可以直接从磁盘读取这些文件并快速响应客户端请求。

1.1、音频文件

例如:Windows系统发布音频文件

location /mymedia/ {
    alias "D:/MyWeb/nginx/mymedia/";
}

已知在该文件夹下有test.mp3文件,通过nginx配置后,可以通过地址 http://localhost:8080/mymedia/test.mp3访问到这个音频。

1.2、前端项目

vue打包的项目文件也是一种静态资源 例如:Linux系统发布前端项目

location / {
    root   /gis/dists/;
    index  index.html index.htm;
}

已知/gis/dists/文件夹下有前端项目,项目文件夹名为demo,通过nginx配置后,可以通过地址http://主机IP:8080/demo/#/进行访问。

1.3、地图瓦片文件夹

/gis/dists/文件夹下有tiles文件夹,里面存放地图瓦片。也可以使用上面的配置。 使用openlayers加载瓦片可以这样编码

new TileLayer({
	source: new XYZ({
	  	url: '/tiles/{z}/{x}/{y}.png',
	})
})