接上篇,反向代理的原理与用途很多地方有讲,用文字说再多可能也表达不清楚,下面贴一张拓扑图,介绍下什么叫反向代理

以上图有两种情景

1. 访问者的客户端是 local ,要访问baidu的服务器,baidu的前台服务器本身不处理具体的业务,只是根据访问的数据类型,或者业务类型等(就是一些特定的规则,比如URL正则),将不同类的请求转发到不同的后端服务器,例如server1是静态资源的,server2是处理账户系统的等

2. 后端的每个server提供的服务完全相同,baidu的前台服务器根据后端每个服务器的负载量来均衡转发客户端来的请求,这种叫负载均衡(server1,server2, server3完全相同)

如何配置nginx的反向代理,我举例常用的nginx+tomcat这种结构的服务器,tomcat默认跑在8080端口,我想将前台的请求都通过80(HTTP)走,下面直接看配置文件:

# 定义后端的tomcat服务器组
upstream tomcatserver {
# server 后端服务器的IP地址:端口 weight权重
server 127.0.0.1:8080 weight=5;
server 127.0.0.1:8080 weight=10;
} server {
listen 80;
server_name example.com; # 将所有请求转发到tomcat
location / {
# 负载均衡转发到后端的服务器组
proxy_pass http://tomcatserver;
# 如果不需要负载均衡,只是将所有的请求转发到某个具体的机器上
# proxy_pass http://127.0.0.1:8080;
} # 静态资源单独处理,根据location的规则,静态资源会优先处理,不会转发到tomcat
location ~* .*\.(js|css|ico|png|jpg|eot|svg|ttf|woff|mp3|gif|json|html|swf)$ {
# 静态资源
root /home/www;
# 缓存30天
expires 30d;
# add_header Cache-Control 'no-store';
}
}

上面最核心的是upstream定义段,upstream是用来配置后端服务器均衡的(可以参考http://www.cnblogs.com/jacktang/p/3669115.html)

至此,一个简单的反向代理代理就配置好了,当然nginx支持很多配置方式,多级负载均衡等,原理都与此相同

========= nginx反向代理配置 =========

文中有不足指出,请直接指出,QQ:1485619676,欢迎一起交流学习

最新文章

  1. Selenium&EmguCV实现爬虫图片识别
  2. "回复 集赞" 抢 《Apple Watch 苹果开发教程》活动开始了!!!
  3. FaceNet--Google的人脸识别(转)
  4. C# winform带进度条的图片下载
  5. 浅谈JNDI的使用
  6. CodeForces 343D 线段树维护dfs序
  7. CGI编程学习----查询2000W开房数据
  8. .NET中 类型,对象,线程栈,托管堆在运行时的关系
  9. Python学习笔记——进阶篇【第八周】———进程、线程、协程篇(Socket编程进阶&多线程、多进程)
  10. effective java笔记之单例模式与序列化
  11. ORM版学员管理系统3
  12. 2D Rotated Rectangle Collision
  13. MySQL C API(23)
  14. 表单提交textarea内容,第一次获取不到值,第二次才能获取到的解决方法:
  15. Linux批量远程命令和上传下载工具
  16. Mysql利用存储过程插入500W条数据
  17. dubbo管理控制台搭建
  18. IDA error of " positive sp value has been found"
  19. SQL学习笔记三之MySQL表操作
  20. 【vijos】P1083 小白逛公园

热门文章

  1. Pixelmetrix :OTT Media Grinder (OTT TV 质量评价设备)
  2. Dynamics Crm2011 Removes an option from an Option Set control
  3. 【Qt编程】基于Qt的词典开发系列<六>--界面美化设计
  4. saiku显示不出新的cube(加载的cube,saiku会保存到缓存中,不重新加载)
  5. 虚拟机安装Ubuntu14.04打开FireFox提示Server not found
  6. Struts2技术内幕 读书笔记三 表示层的困惑
  7. C++语言之构造函数
  8. vector向量容器的一些基本操作
  9. Github上的原文XMPP环境搭建步骤,英语能力差不多的可以看看
  10. Mac OS X 简单的方法知道何时来电了