服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Nginx - 3分钟学会使用Nginx实现反向代理

3分钟学会使用Nginx实现反向代理

2021-06-01 01:29老王谈运维 Nginx

代理服务器,客户机在发送请求时,不是直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。

 什么是代理服务器

代理服务器,客户机在发送请求时,不是直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。

3分钟学会使用Nginx实现反向代理

3分钟学会使用Nginx实现反向代理

代理服务器的作用

  1. 提高访问速度(热门网站必配):通常代理服务器都设置一个较大的缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,以提高访问速度。
  2. 隐藏真实身份(网站安全加强):上网者也可以通过代理服务器隐藏自己的真实地址信息,还可隐藏自己的IP,防止被黑客攻击。
  3. 突破限制(尽情网上冲浪):有时候网络供应商会对上网用户的端口,目的网站,协议,游戏,即时通讯软件等的限制,使用代理服务器都可以突破这些限制。

正向代理与反向代理

正向代理,好比你想买房,但是你的资金不够,于是你去找王思聪借钱,肯定是被拒绝了;这个时候你打听到你的一个好朋友小A和王思聪是同学,于是你找小A帮你跟王思聪借钱,借钱成功。小A在这个过程中就是代理,准确点是正向代理,小A替你借了钱,这个过程中,非常关键的是真正借钱的人是谁,王思聪是不知道的。

我们常说的代理也就是指正向代理,正向代理的过程,它隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替来请求,比如科学上网工具 Shadowsocks 扮演的就是典型的正向代理角色。

3分钟学会使用Nginx实现反向代理

反向代理,好比你拨打10086,一个地区的 10086 客服成百上千个,你不需要关心在电话那头的是哪一个,你关心的是你的问题能不能得到专业的解答;那么这里的 10086 总机号码就是我们说的反向代理。客户不知道真正提供服务的人是谁。

反向代理隐藏了真实的服务端,当我们访问 www.baidu.com 的时候,背后可能有成千上万台服务器为我们服务,但具体是哪一台,你不知道,www.baidu.com 就是我们的反向代理服务器,反向代理服务器会帮我们把请求转发到提供真实计算的服务器那里去。

3分钟学会使用Nginx实现反向代理

两者的区别在于代理的对象不一样,「正向代理」代理的对象是客户端,「反向代理」代理的对象是服务端。

反向代理应用场景

当下很多大型 Web 网站都会使用到反向代理。用于防止外网对内网服务器的恶性攻击;缓存以减少服务器的压力和访问安全控制;实现负载均衡。

实践配置反向代理服务器 Nginx

Nginx作为当下最火的反向代理服务器,下面举例使用nginx反向代理,多域名站点配置:

配置IP域名

172.16.100.108 www.a.com

172.16.100.108 www.b.com

  1. upstream www_a_com { 
  2.  server 172.16.100.108:8001; 
  3. upstream www_b_com { 
  4.  server 172.16.100.108:8002; 
  5. server { 
  6.  listen 80; 
  7.  server_name www.a.com; 
  8.  charset utf-8; 
  9.  autoindex off
  10.  location / { 
  11.  proxy_pass http://www_a_com; 
  12.  proxy_set_header Host $host; 
  13.  proxy_set_header X-Real-IP $remote_addr; 
  14.  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
  15.  } 
  16. server { 
  17.  listen 80; 
  18.  server_name www.b.com; 
  19.  charset utf-8; 
  20.  autoindex off
  21.  location / { 
  22.  proxy_pass http://www_b_com; 
  23.  proxy_set_header Host $host; 
  24.  proxy_set_header X-Real-IP $remote_addr; 
  25.  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
  26.  } 

延伸 · 阅读

精彩推荐
  • Nginxnginx rewrite 伪静态配置参数和使用例子

    nginx rewrite 伪静态配置参数和使用例子

    nginx下伪静态配置参数详细说明,使用nginx的朋友,nginx rewrite 伪静态配置参数和使用例子 附正则使用说明 ...

    服务器之家3102019-10-08
  • Nginx利用nginx和腾讯云免费证书制作https的方法

    利用nginx和腾讯云免费证书制作https的方法

    这篇文章主要介绍了利用nginx和腾讯云免费证书制作https的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    dalaoyang5992019-12-30
  • NginxNginx location 和 proxy_pass路径配置问题小结

    Nginx location 和 proxy_pass路径配置问题小结

    本文是基于 location 的匹配末尾是否配置 / 和 proxy_pass 末尾是否配置 / ,进行测试,完全还原了整个测试过程,本文给大家介绍Nginx location 基本配置及相关配...

    自由早晚乱余生18742021-09-24
  • Nginx如何优化Nginx的处理性能

    如何优化Nginx的处理性能

    Nginx是一个很强大的高性能Web和反向代理服务,它具有很多非常优越的特性,在连接高并发的情况下,Nginx是Apache服务不错的替代品。其特点是占有内存少,...

    Dockone.io5142020-12-11
  • NginxNginx Rewrite使用场景及代码案例详解

    Nginx Rewrite使用场景及代码案例详解

    这篇文章主要介绍了Nginx Rewrite使用场景及代码案例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可...

    盗哥泡茶去了11862020-09-27
  • Nginxnginx ssl免密码重启教程详解

    nginx ssl免密码重启教程详解

    这篇文章给大家介绍了nginx 如何启动以及nginx ssl 免密码重启 的方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧 ...

    mrr4272019-11-19
  • NginxNginx动静分离实现案例代码解析

    Nginx动静分离实现案例代码解析

    这篇文章主要介绍了Nginx动静分离实现案例代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参...

    盗哥泡茶去了3382020-09-27
  • Nginx通过Nginx规则重写URL去掉index.php不显示index.php

    通过Nginx规则重写URL去掉index.php不显示index.php

    Nginx不仅占用内存少,并发能力强,而且拓展功能丰富,可以通过安装模板来强化功能,也能通过规则优化,优化服务器并发处理能力,是建站的不二之选...

    Genius日记5872020-10-16