一、什么是反向代理

正向代理。

代理上网:代理服务器帮我们上网。

比如,在教室里上不了网。老师的电脑可以上网。老师可以开一个代理服务器,学生在自己的电脑上配置一下,通过老师的电脑上网。需要一个代理软件,装好之后,就都可以上网了。其实,学生的电脑是上不了网的,学生电脑把请求发送给老师电脑,老师服务器拿到请求之后,把请求发送给目标服务器。目标服务器响应之后,老师电脑再响应给学生。

实战day03(五)----反向代理

正向代理说的是客户端,反向代理说的是服务端。

比如,一个公司,公司有多个网站。有天猫,有淘宝两个网站。只有一个服务器有公网ip,一个域名只能绑定一个ip。一个天猫,一个淘宝,两个域名不一样。两个域名都要绑定到这个ip,那么,怎么区分,访问的是哪个网站呢?上一篇博客,我们讨论了通过域名区分不同的网站。天猫部署到一个tomcat,淘宝部署到一个tomcat。请求来了,都应该到nginx这里,nginx需要将请求转发给不同的tomcat服务器。如果,访问的是天猫,就应该把请求转发给天猫所在的服务器。这就是反向代理。说白了,就是服务端这边,请求来了之后,由这个反向代理决定我把这个请求转发给那个应用服务器(tomcat)。服务端的代理,反向代理。一个ip,一个nginx作为入口。

实战day03(五)----反向代理

反向代理服务器决定哪台服务器提供服务。

返回代理服务器不提供服务器。也是请求的转发。

二、Nginx实现反向代理

两个域名指向同一台nginx服务器,用户访问不同的域名显示不同的网页内容。

同一台服务器上装两个tomcat,一个运行在8080,一个运行在8081.

两个域名是www.sian.com.cn和www.sohu.com

nginx服务器使用虚拟机192.168.101.3 

实战day03(五)----反向代理

1.配置域名

实战day03(五)----反向代理

第一步:安装两个tomcat,分别运行在8080和8081端口。

实战day03(五)----反向代理

修改端口号

vim tomcat-sohu/conf/server.xml

实战day03(五)----反向代理

实战day03(五)----反向代理

第二步:启动两个tomcat。

[[email protected] local]# tomcat-sina/bin/startup.sh

[[email protected] local]# tomcat-sohu/bin/startup.sh

修改欢迎页

[[email protected] local]# vim tomcat-sina/webapps/ROOT/index.jsp

实战day03(五)----反向代理

[[email protected] local]# vim tomcat-sohu/webapps/ROOT/index.jsp

实战day03(五)----反向代理

看效果:

实战day03(五)----反向代理

实战day03(五)----反向代理

第三步:反向代理服务器的配置。

实战day03(五)----反向代理

[[email protected] nginx]# sbin/nginx -s reload

实战day03(五)----反向代理

访问域名www.sina.com.cn, 80端口,先到的nginx,nginx监听了80端口。nginx拿到域名去匹配,把请求交给proxy_pass http://sina, 然后,映射到upstream sina, 在转发给8080这个tomcat。8080这个tomcat响应请求返回给nginx,nginx再返回给浏览器。

实战day03(五)----反向代理

相关文章:

  • 2022-12-23
  • 2021-05-03
  • 2021-05-30
  • 2021-09-17
  • 2021-10-23
猜你喜欢
  • 2022-02-08
  • 2021-11-27
  • 2020-10-08
  • 2021-05-08
  • 2022-12-23
  • 2020-11-06
  • 2022-01-04
相关资源
相似解决方案