代理服务器,客户机在发送请求时,不是直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。
代理服务器的作用
正向代理与反向代理
正向代理,好比你想买房,但是你的资金不够,于是你去找王思聪借钱,肯定是被拒绝了;这个时候你打听到你的一个好朋友小A和王思聪是同学,于是你找小A帮你跟王思聪借钱,借钱成功。小A在这个过程中就是代理,准确点是正向代理,小A替你借了钱,这个过程中,非常关键的是真正借钱的人是谁,王思聪是不知道的。
我们常说的代理也就是指正向代理,正向代理的过程,它隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替来请求,比如科学上网工具 Shadowsocks 扮演的就是典型的正向代理角色。
反向代理,好比你拨打10086,一个地区的 10086 客服成百上千个,你不需要关心在电话那头的是哪一个,你关心的是你的问题能不能得到专业的解答;那么这里的 10086 总机号码就是我们说的反向代理。客户不知道真正提供服务的人是谁。
反向代理隐藏了真实的服务端,当我们访问 www.baidu.com 的时候,背后可能有成千上万台服务器为我们服务,但具体是哪一台,你不知道,www.baidu.com 就是我们的反向代理服务器,反向代理服务器会帮我们把请求转发到提供真实计算的服务器那里去。
两者的区别在于代理的对象不一样,「正向代理」代理的对象是客户端,「反向代理」代理的对象是服务端。
反向代理应用场景
当下很多大型 Web 网站都会使用到反向代理。用于防止外网对内网服务器的恶性攻击;缓存以减少服务器的压力和访问安全控制;实现负载均衡。
实践配置反向代理服务器 Nginx
Nginx作为当下最火的反向代理服务器,下面举例使用nginx反向代理,多域名站点配置:
配置IP域名
172.16.100.108 www.a.com
172.16.100.108 www.b.com
- upstream www_a_com {
- server 172.16.100.108:8001;
- }
- upstream www_b_com {
- server 172.16.100.108:8002;
- }
- server {
- listen 80;
- server_name www.a.com;
- charset utf-8;
- autoindex off;
- location / {
- proxy_pass http://www_a_com;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- }
- }
- server {
- listen 80;
- server_name www.b.com;
- charset utf-8;
- autoindex off;
- location / {
- proxy_pass http://www_b_com;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- }
- }
【51CTO.com快译】传统上,衡量数据中心的电力容量通常是由其最大IT负载或输入电...
万国数据服务有限公司(以下简称万国数据或公司)(纳斯达克股票代码:GDS)今日公布...
在继续推进数字化计划的同时削减IT成本不适合胆小怕事的人。许多CIO让工作人员向...
根据调研机构Gartner公司的预测,到2020年,全球20%的组织将实现无服务器化。无...
2020年是改变企业运营方式的重要一年。随着业务运营方式的改变,以前没有采用云...
围绕图形处理单元(GPU)计算的生态系统如今正在迅速发展,以提高GPU工作负载的效...
数据越来越大、数据越来越多,这给数据的管理带来了极大的难度,仅通过堆硬件的...
许多走出国门的企业为了保障自家的网络数据安全都会选择购买日本高防服务器来抵...
在 Java Web 容器的世界里,Tomcat 和 Jetty 是大名鼎鼎的、用的最多的开源项目...
早咯~ 转眼九月快临近尾声,新的一周又开始啦,照例来一份TOP云(zuntop.com) ...