正向代理:我直接访问google被墙了,现在有一台服务器(比如美国的服务器)能访问谷歌,我通过这台服务器代理我去访问google,再把数据返回给我,这就是正向代理。
反向代理:我访问百度的时候,百度后有很多服务器,我也不知道自己会命中哪台服务器然后返回百度主界面给我。我访问www.baidu.com这个域名,然后就会被代理到一台百度服务器上。这就是反向代理。再好比我打10086,我不在乎也没必要知道接这个电话的是哪个客服,只要有人给我处理问题就好。
了解了反向代理之后,接下来我们就开始吧!
首先简单描述下步骤:
1、构建好springboot的应用启动俩个不同端口实例
2、下载配置nginx并运行(配置反向代理)
3、浏览器访问达到效果
begin:
1、配置好springboot的实例 这里只写了一个controller
2、点击Run -> Edit configurations 出现如下界面后点击复制实例,配置好端口(一定要配置端口)
3、复制好的实例也要配置自己的端口哦
4、分别启动俩个实例
5、下载nginx后去到目录配置好nginx的配置文件
给出配置:
upstream hello {
server localhost:8887 weight=2;
server localhost:8889 weight=2;
}
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
index index.html;
proxy_pass http://hello;
}
6、通过浏览器的访问:
7、分别查看俩个实例控制台的输出
这样我们通过访问相同的url访问到了不同的实例。这就是反向代理啦,负载均衡的话,我们在nginx配置文件中配了一个叫"weight"的权重属性,通过这个属性来分配负载,当然还有其他几种负载均衡的方式,有兴趣的小伙伴自己查查资料哈。