梗概

  • 服务端根据客户端的请求信息(源IP等、请求域名)转向不同的服务

详解

反向代理一般通过Nginx搭建的,比如说你在服务器用Nginx开了80端口。 你有两个域名都解析成你服务器的IP地址, 通过两个域名分别访问80端口,Nginx可以根据你的规则把不同源ip不同域名… 过来数据转发到其他端口或者其他主机,这样好处就是一个端口可以配置N个服务。 当然Nginx功能不止这个功能,它很强大。

虚拟主机 vs 反向代理

虚拟主机

  • 定义:所有网站都在同一台服务器上,Nginx根据访问的域名server_name),从服务器本地的不同文件夹返回对应的静态资源
  • 示例:服务器A上有 a.comb.com 两个网站的文件,用户访问哪个域名,Nginx就从服务器A上对应的文件夹里拿文件返回
  • 特点:单台服务器,本地文件服务

反向代理

  • 定义Nginx所在的服务器收到请求后,转发给其他服务器处理,由后端服务器处理后再通过Nginx返回结果
  • 示例:用户访问 a.com/api 时,Nginx把请求转发给服务器B上的后端程序处理,服务器B处理完结果通过Nginx返回
  • 特点:多台服务器,请求转发服务

示例

  • qql1.com与qql2.com都指向了同一个IP和port,这个port上有Nginx反向代理服务
  • 则该服务会把qql1.com和qql2.com导向不同的服务器
  • 也可以把qql1.com与qql2.com都导向相同的服务器 ^2pjwla

方案