nginx代理--根据访问的目录来区分后端的web

回复 收藏
我的需求: 当请求的目录是 /aaa/ 则把请求发送到机器a,当请求的目录为/bbb/则把请求发送到机器b,除了目录/aaa/与目录/bbb/外,其他的请求发送到机器b

我的配置文件内容为:
  1. upstream aaa.com
  2. {
  3.             server 192.168.111.6;
  4. }
  5. upstream bbb.com
  6. {
  7.             server 192.168.111.20;
  8. }
  9. server {
  10.         listen 80;
  11.         server_name li.com;
  12.         location /aaa/
  13.         {
  14.             proxy_pass http://aaa.com/aaa/;
  15.             proxy_set_header Host   $host;
  16.             proxy_set_header X-Real-IP      $remote_addr;
  17.             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  18.         }
  19.         location /bbb/
  20.         {
  21.             proxy_pass http://bbb.com/bbb/;
  22.             proxy_set_header Host   $host;
  23.             proxy_set_header X-Real-IP      $remote_addr;
  24.             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  25.         }
  26.         location /
  27.         {
  28.             proxy_pass http://bbb.com/;
  29.             proxy_set_header Host   $host;
  30.             proxy_set_header X-Real-IP      $remote_addr;
  31.             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  32.         }
  33. }
说明:
1 以上配置文件中的 aaa.com 以及 bbb.com 都是自定义的,随便写。
2 upstream 中的server 可以写多个,例如

upstream aaa.com
{
            server 192.168.111.6;
            server  192.168.111.4;
            server  192.168.111.5;
}

3 proxy_pass http://aaa.com/aaa/  这里必须要加这个目录,不然就访问到根目录了。
4 实际上,上述配置文件中, localtion /bbb/ 部分是可以省略掉的,因为后边的 location /  已经包含了/bbb/,所以即使我们不去定义  localtion /bbb/ 也是会访问到 bbb.com 的。
2011-11-25 17:04 举报
已邀请:
0

ayu

赞同来自:

学习了
0

ayu

赞同来自:

学习了
0

ayu

赞同来自:

学习了
0

lyhabc

赞同来自:

学习了,这样可以负载均衡了
0

qqq998492

赞同来自:

学习了
0

435664265

赞同来自:

反向代理配置
0

SunyBome

赞同来自:

受教了
0

出VU时代

赞同来自:

学习了
0

continue

赞同来自:

学习了
0

Coohx - 小运维

赞同来自:

大概了解了
0

zhangzihao

赞同来自:

看看
0

summer123

赞同来自:

upstream aaa.com  {             server 192.168.111.6; }  upstream bbb.com  {             server 192.168.111.20; }这在哪里调用的
0

gulay1688

赞同来自:

好贴收藏。看来用Nginx的代理来配置负载均衡,功能比LVS牛多了。
0

u46306306

赞同来自:

学习了

0

小贤

赞同来自:

学习了

0

wooinsung

赞同来自:

收藏学习了

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: