
什么是反向代理?
正向代理(基于客户端的代理)

反向代理(基于服务器端的代理)

反向代理服务器决定哪台服务器提供服务,返回代理服务器不提供服务器,也是请求的转发。
Nginx实现反向代理
两个域名指向同一台nginx服务器,用户访问不同的域名显示不同的网页内容。
两个域名是www.sian.com.cn和www.sohu.com,nginx服务器使用虚拟机192.168.25.133
![]()
第一步:安装两个tomcat,分别运行在8080和8081端口。
第二步:启动两个tomcat(注意修改tomcat的端口号)。
第三步:反向代理服务器的配置
在Nginx下的nginx.conf配置tomcat节点
upstream tomcat1 {
server 192.168.25.133:8080;
}
server {
listen 80;
server_name www.sina.com.cn;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcat1;
index index.html index.htm;
}
}
upstream tomcat2 {
server 192.168.25.133:8081;
}
server {
listen 80;
server_name www.sohu.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcat2;
index index.html index.htm;
}
}
第四步:nginx重新加载配置文件
第五步:配置域名
在hosts文件中添加域名和ip的映射关系
192.168.25.133 www.sina.com.cn
192.168.25.133 www.sohu.com
重新加载配置文件
sbin/nginx -s reload
由于niginx里面配置了sohu和sina两个tomcat的地址,每当我们发起请求到tomcat,tomcat就会响应给niginx,niginx再把请求响应给我们,简单来讲就是配置多台tomcat服务器,交给niginx管理,是哪台服务器的请求就由niginx选择响应


负载均衡
如果一个服务由多条服务器提供,需要把负载分配到不同的服务器处理,需要负载均衡。这个时候,发送请求,两台服务轮询响应
upstream tomcat2 {
server 192.168.25.148:8081;
server 192.168.25.148:8082;
}
可以根据服务器的实际情况调整服务器权重。权重越高分配的请求越多,权重越低,请求越少。默认是都是1
upstream tomcat2 {
server 192.168.25.148:8081;
server 192.168.25.148:8082 weight=2;
}
网友评论