媒介
在日常平凡的工作中,总是会碰到代办的观点。之前我只知道有代办这个观点,不过对其没有一个清楚的明白。因而带着以下两个题目最先进修正向代办以及反向代办。
- 什么是正向代办,什么是反向代办
- 正向代办能够做什么,反向代办能够做什么
观点
起首附上一张申明图,先有一个团体的明白。
正向代办( Forward Proxy ):是指是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容, 客户端向代办发送一个要求并指定目标(原始服务器),然后代办向原始服务器转交要求并将取得的内容返回给客户端。客户端才运用正向代办。
反向代办( Reverse Proxy ):是指以代办服务器来接收 Internet 上的衔接要求,然后将要求转发给内部收集上的服务器,并将从服务器上获得的效果返回给 Internet 上要求衔接的客户端,此时代办服务器对外就表现为一个反向代办服务器。
特性
正向代办
- 代办客户;
- 隐蔽实在的客户,为客户端收发要求,使实在客户端对服务器不可见;
- 一个局域网内的一切用户能够被一台服务器做了正向代办,由该台服务器担任 HTTP 要求;
- 意味着同服务器做通讯的是正向代办服务器;
反向代办
- 代办服务器;
- 隐蔽了实在的服务器,为服务器收发要求,使实在服务器对客户端不可见;
- 负载平衡服务器,将用户的要求分发到余暇的服务器上;
- 意味着用户和负载平衡服务器直接通讯,即用户剖析服务器域名时获得的是负载平衡服务器的 IP ;
共同点
- 都是做为服务器和客户端的中心层
- 都能够增强内网的安全性,阻挠 web 进击
- 都能够做缓存机制
现实运用
Nginx 服务器
Nginx 服务器的功用有许多,诸如反向代办、负载平衡、静态资本服务器等。
客户端原本能够直接经由历程 HTTP 协定接见服务器,不过我们能够在中心加上一个 Nginx 服务器,客户端要求 Nginx 服务器,Nginx 服务器要求运用服务器,然后将效果返回给客户端,此时 Nginx 服务器就是反向代办服务器。
在虚拟主机的设置中设置反向代办
# 虚拟主机的设置
server {
listen 8080; # 监听的端口
server_name 192.168.1.1; # 设置接见域名
root /data/toor; # 站点根目录
error_page 502 404 /page/404.html; # 毛病页面
location ^~ /api/ { # 运用 /api/ 代办 proxy_pass 的值
proxy_pass http://192.168.20.1:8080; # 被代办的运用服务器 HTTP 地点
}
}
以上简朴的设置就能够完成反向代办的功用。
固然反向代办也能够处置惩罚跨域题目,在 Vue 中就能够运用 proxyTable
这个属性举行相干的设置来处理跨域题目带来的懊恼。设置以下:
...
proxyTable: {
'/weixin': {
target: 'http://192.168.48.11:8100/', // 接口的域名
secure: false, // 假如是 https 接口,须要设置这个参数
changeOrigin: true, // 假如接口跨域,须要举行这个参数设置
pathRewrite: {
'^/weixin': ''
}
},
},
...
负载平衡的设置
# upstream 示意负载服务器池,定义名字为 my
upstream my {
server 192.168.2.1:8080 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.2.2:8080 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.2.3:8080 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.2.4:8080 weight=1 max_fails=2 fail_timeout=30s;
# 即在 30s 内尝试 2 次失利即以为主机不可用
}
负载平衡行将 要求/数据 轮询分摊到多个服务器上实行,负载平衡的关键在于 匀称。
也能够经由历程 ip-hash
的体式格局,依据客户端 ip 地点的 hash 值将要求分配给牢固的某一个服务器处置惩罚。
别的,服务器的硬件设置能够差别,设置好的服务器能够处置惩罚更多的要求,这时候能够经由历程 weight
参数来掌握。
以上。
前端辞书系列
本文是《前端辞书》系列的第一篇文章,这个系列会延续更新,每一期我都会讲一个涌现频次较高的知识点。愿望人人在浏览的历程当中能够指正文中涌现不严谨或是毛病的处所,本人将不胜感激;若经由历程本系列而有所得,本人亦将不胜欣喜。
内容: 前端以及收集相干知识点的引见并加以现实运用作为辅佐。
目标: 这个系列的文章能够对读者起到一点协助,解开一些疑惑。
愿望列位多指导一二,不吝赐教。