概述
一.原理.
提到Nginx的反向代理就不得不说一下,正向代理和反向代理的区别
正向代理:
以加速器为例, 当你需要访问一些国外网站或游戏,不得不借助代理服务器转发你的请求给国外服务器,国外服务器处理后返回给代理服务器再返回给用户. 这里的关键在于 用户是借助第三方服务器转发自己的请求.
反向代理:
以某宝为例,当你在某宝购物时,必须用多台服务器解决并发请求,中间担任请求分发角色的便是Nginx(实际上是Tengine,只不过是Nginx封装了一些其它组件而成的代理服务器). 这里的关键在于 反向代理服务器和目标服务器属于同一方,用反向代理可以隐藏目标服务器的真实ip或域名,并且可以根据策略作负载均衡.
二.测试.
在windows上测试.
1.官网下载.
https://nginx.org/en/download.html
2.conf目录下,配置nginx.conf.
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
upstream backend{
server localhost:62557;
server localhost:62558;
server localhost:62559;
}
server {
listen 83;
location / {
proxy_pass http://backend;
}
}
}
这里为了简便,后端真实服务器就在本机,且放在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配置.
这是最坑的,很多文章没有提及该点.如果没有配置,无论你是输入域名 还是域名+端口 都访问不到服务器.
C:WINDOWSSystem32driversetc
该目录下打开hosts文件,末尾添加:
127.0.0.1 backend
这样本机才能解析域名backend.
6.访问.
由于nginx监听的83端口,且采用轮询策略,浏览器多次访问 http://backend:83/ 就能看到不同页面响应.同一服务器访问2次后换服务器访问,效果如下:
最后
以上就是缓慢毛衣为你收集整理的Nginx反向代理的原理及测试的全部内容,希望文章能够帮你解决Nginx反向代理的原理及测试所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复