讲个故事:瘾君子阿三毒瘾犯了,想要K粉,但他手里没有货了,于是他想到了本城第一毒枭虎爷,虎爷有最好的货。阿三名声不太好,经常买粉拖欠尾款,虎爷也是知道的,所以阿三去了也没好果子吃,不仅粉没拿到,还被打了一顿就赶出来了,并受到了极大的人生威胁和对其智力的怀疑。但是毒瘾犯了,没人能抵挡得住,阿三要白粉,因为是处女座,所以他只要最纯的白粉,这是他的骄傲和倔强,不然不纯的粉会让他难受死。极尽痛苦之下,他想到华哥和虎爷有交情,而且华哥是阿三的远房表哥,于是阿三就去找了华哥。华哥是个讲义气的人,听说兄弟有需求,二话不说,从虎爷那里买了1000块钱的货,2000块卖给了阿三,并适当收了点跑腿费。
言归正传:在上述过程中,可以把阿三理解为客户端,虎爷为服务端,华哥则是代理。虎爷并不知道华哥买这货是要做什么,可能是自己想研究,也可能拿来喂猪,他绝对不知道是转卖给阿三的。这个过程其实就是正向代理的过程,服务端(虎爷)不知道真实的客户端(阿三)是谁,华哥(代理)隐藏了真实的发起请求的客户端,客户端(阿三)请求的服务是由华哥(代理)代为向虎爷(服务端)请求的。结果就是皆大“欢喜”,阿三满足了,虎爷卖了货,华哥赚了钱。
那什么是反向代理呢?既然带了“反”字,那么自然是要与正向代理反过来的。假如阿三不是处女座, 不介意粉的质量,而且是个“佛系”瘾君子,懒得去货比三家,懒得跑腿,懒得去了解更多,他可能一有需求就找华哥,直接让华哥给他货就行,不在乎这货是从哪儿来的,是不是面粉。那么,他拿到的货可能来自于虎爷、龙爷、阿猫、阿狗……等等。那么华哥在这里就起着一个反向代理服务器的作用,华哥把来自客户的请求转发到真实的服务器(供应毒品的“大佬”们)那里,华哥自己并不是真正的服务器,他只是个中介,他还是要从其他“大佬”那里拿到货以后,然后把货转发给客户,像这种隐藏了真实服务端的行为,就是反向代理。Nginx就是很好的反向代理服务器,就像华哥这样义字当头的人。
总结一下,正向代理隐藏真实的客户端,反向代理隐藏真实的服务端。
那么,为啥要隐藏呢?反向代理有什么好处呢?这个问题,以后想写再写吧。
领取专属 10元无门槛券
私享最新 技术干货