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

一、什么是反向代理

正向代理。

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

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


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

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


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

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

二、Nginx实现反向代理

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

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

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

nginx服务器使用虚拟机192.168.101.3 


1.配置域名


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


修改端口号

vim tomcat-sohu/conf/server.xml



第二步:启动两个tomcat。

[root@CentOS local]# tomcat-sina/bin/startup.sh

[root@CentOS local]# tomcat-sohu/bin/startup.sh

修改欢迎页

[root@CentOS local]# vim tomcat-sina/webapps/ROOT/index.jsp


[root@CentOS local]# vim tomcat-sohu/webapps/ROOT/index.jsp


看效果:



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


[root@CentOS nginx]# sbin/nginx -s reload


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


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值