码迷,mamicode.com
首页 > Web开发 > 详细

使用反向代理的http的请求流程

时间:2017-08-12 18:57:11      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:公网   log   就会   nbsp   也会   进入   技术   none   内容   

此文章主要为刚接触反向代理的小伙伴梳理请求流程,以便更好的理解反向代理是何时工作的

流程

  • 由于浏览器是有缓存的,所以本地的hosts文件的信息也会在浏览器端缓存
  • 当客户端发起一个新的请求(例如:输入的是域名www.uxuexi.com),请求会先在浏览器中查看是否有缓存的hosts信息,如果有直接拿来使用,如果没有会去使用所在操作系统的hosts文件的信息
  • 在hosts文件上如果匹配到所输入的域名,那么此时请求就会被转发到对应的ip主机上;如果在本地hosts文件中没有匹配到,那么就会去公网DNS去匹配
  • 请求跳到对应的ip主机后(A服务器),一般这个主机应该是nginx所在的主机,由于域名没有端口默认的就是80端口,所以此时nginx中如果配置了拦截80端口,那么这个请求就会被nginx给监听到,然后进入nginx中相应配置文件中
  • 进入到nginx的相应的配置文件后会和对应的server-name匹配,然后找到匹配到的server-name对应的代理地址,在通过代理地址的名称找到对应的upstream
  • 由于upstream中有响应的ip地址(B服务器)和端口,所以此时请求就会被转发到upstream的对应的ip主机(B服务器)上,
  • 请求到达新的ip主机(B服务器)后,由于这个转发是带有端口的,所以这个端口就会被此主机(B服务器)上的应用程序监听到,比如tomcat
  • 达到tomcat服务后有两种访问项目部署资源的情况:
    •   项目部署位置不是tomcat默认位置 技术分享

 

    • 项目部署位置是tomcat默认部署位置

      如果这种情况,一般我们在输入域名或者直接输入ip地址端口的时候,后面还要加上项目名,这个项目名非常重要,因为tomcat要用这个名字去tomcat默认放置项目资源的文件夹下匹配资源。  

  • 此时如果你的项目没有问题,你应该能够看到你想要的内容了     

使用反向代理的http的请求流程

标签:公网   log   就会   nbsp   也会   进入   技术   none   内容   

原文地址:http://www.cnblogs.com/htyj/p/7351093.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!