一.原理.
提到Nginx的反向代理就不得不说一下,正向代理和反向代理的区别
正向代理:
以加速器为例, 当你需要访问一些国外网站或游戏,不得不借助代理服务器转发你的请求给国外服务器,国外服务器处理后返回给代理服务器再返回给用户. 这里的关键在于 用户是借助第三方服务器转发自己的请求.
反向代理:
以某宝为例,当你在某宝购物时,必须用多台服务器解决并发请求,中间担任请求分发角色的便是Nginx(实际上是Tengine,只不过是Nginx封装了一些其它组件而成的代理服务器). 这里的关键在于 反向代理服务器和目标服务器属于同一方,用反向代理可以隐藏目标服务器的真实ip或域名,并且可以根据策略作负载均衡.
二.测试.
在windows上测试.
1.官网下载.
2.conf目录下,配置nginx.conf.
这里为了简便,后端真实服务器就在本机,且放在62557,62558,62559三个端口.并且nginx采用轮询策略,当浏览器访问 http://backend 便按策略依次分发给 三个服务器处理.
3.启动nginx.
网上有说双击nginx.exe的,有说命令行start nginx,这里不管采用哪种,知道看到任务管理器出现2个nginx进程就行.
4.创建并启动后端服务器.
用springInitialnizar勾选web功能快速创建三个springboot工程,分别设置端口62557,62558,62559,并编写一个test的controller,如图示意:
5.DNS配置.
这是最坑的,很多文章没有提及该点.如果没有配置,无论你是输入域名 还是域名+端口 都访问不到服务器.
该目录下打开hosts文件,末尾添加:
这样本机才能解析域名backend.
6.访问.
由于nginx监听的83端口,且采用轮询策略,浏览器多次访问 http://backend:83/ 就能看到不同页面响应.同一服务器访问2次后换服务器访问,效果如下:
本文地址:http://xiaoguoguo.dbeile.cn/quote/154.html 多贝乐 http://xiaoguoguo.dbeile.cn/ , 查看更多