什么是反向代理?
反向代理 形象一点理解 就是服务器找的一个中间人,拿目前市场上出场率比较高的tomcat服务器来说,tomcat作为一个web服务器,当用户想要与tomcat做一些交互的时候,tomcat不想暴露自己,于是就找了一个中间人来帮忙承接,这个中间人就是所谓的反向代理。当然这样说只是为了方便大家的理解,不暴露自身的ip也只是其中安全性的一个方面,当然还有提升效率,降低负载,方便管理等等因素存在....言归正传,一句话来总结什么是反向代理:代理服务器的服务器。
反向代理的实战演示
1、Nginx将请求转发给目标服务器Tomcat
1)进入nginx的配置文件
vim /usr/local/nginx/conf/nginx.conf
2)配置反向代理
location / {
proxy_pass http://127.0.0.1:8081;
}
3)重新载入配置
cd /usr/local/nginx/sbin
./nginx -s reload
4)进入nginx首页进行查看(发现已经变成了tomcat的欢迎页面)
2、根据请求路径过滤,发送给不同的Tomcat处理
1)进入nginx的配置文件
vim /usr/local/nginx/conf/nginx.conf
2)配置反向代理
location /test {
proxy_pass http://127.0.0.1:8081;
}
location /dev {
proxy_pass http://127.0.0.1:8082;
}
3)重新载入配置
cd /usr/local/nginx/sbin
./nginx -s reload
4)查看效果
注:要启动两个tomcat(如果没有tomcat的同学无法查看当前效果,了解其原理即可),8081的新增/test目录,里面放置一个aaa.html;8082的新增/dev目录,里面放置一个aaa.html;aaa.html文件内写上不同的内容即可看出效果