正向代理
正向代理是指 A无法访问到C 通过B以后可以访问到C 就叫正向代理
举个粟子
A想要买一台最新的MAC PRO,但是只有米国有一家店S,A无法去到米国。
B在米国,能到S店可以买,所以A委托B进行购买。
S店的人不知道最终会把产品卖给A,只知道卖给了B,S店的人也根本不知道有A这个人。
所以A通过B代购了C的货,可以把中间这个代购人看成作正向代理。
A知道有S店,也知道B是代购。
反向代理
后台C D 都可以提供服务器,A不清楚自己会访问哪台后端服务器,A只知道通过B去访问到了资源。
还是举个代购的例子
A想买最新的mac pro,B就卖了一台给他,对就这么直接。
实际上货B也根本没有,但是B知道选择几家有货的S店,把A的需求直接满足。
A不知道有S店,A认为B就是S店,实际上B也是代购。
差别
总结一下,正向代理与反向代理的区别在于
对于请求者A来说
正向代理时他知道有S这个店,知道B是代理。
反向代理时,A不知道S店,不知道B是代理。
nginx反向代理配置
即通过nginx作为中间结点去访问后端服务器,而不直接由客户端去访问,nginx作为中间结点向最终的服务器请求返回结果。
如何配置反向代理
打开 /etc/nginx/conf.d/default.conf
添加proxy_pass设置如下:
server {
listen 80; # 监听80端口
server_name localhost nginx.tangll.cn;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#设置代理 转到8080端口
location ~ /test.html$ {
proxy_pass http://127.0.0.1:8080;
}
error_page 500 502 503 504 404 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
用node.js搭建一个express的WEB服务器,然后可以设置nginx来进行访问。
https://www.processon.com/i/568c6ea4e4b0e51d149a085f
这个网站解决了大家开始设计阶段的问题,轻量级的各种设计模型,强烈推荐