nginx反向代理性能不错,今天由于公司要用到,经过测试,可以完成任务

1.对于反向代理时,把请求发送到其他机器,类似如下

http {

........

upstream  test {

      server 192.168.190.20 ;

  server  uninx:/tmp/nginx;

      server  test.example.com;

}

server {

  listen  80;

  server_name   192.168.190.1;

  location   /abc/def/ghi   {

    proxy_pass       http://test;

  }

}

以上为常规配置方式,即我们把人家请求中带有 /abc/def/ghi的链接反向代理到test中,再看下面一组

2,如果反向代理时,出现server中的机器是一个域名,而且是带有二级目录,如果  "server  192.168.190.13/abc/def/ghi ;"这样,上面的方式就会报错,可以这样来

server {

  listen  80;

  server_name   192.168.190.1;

  location   /abc/def/ghi   {

    proxy_pass       192.168.190.13/abc/def/ghi ;

  }

http标签里就不用添加upstream了,把要反向代理里的http的链接地址直接放在location里的proxy_pass

3.通常来说,反向代理都是用最上面的方法,我也尝试过,把人家访问的url进行重写,就有了下面的方法

server {

  listen  80;

  server_name   192.168.190.1;

  location   /abc/def/ghi   {

    rewrite  ^(.*)$   192.168.190.13/abc/def/ghi permanent ;

  }

虽然2和3的结果是一样的,一个是反向代理,一个是重写,但效果怎样,没尝试过,以前用的是方法1,突然要反向代理到域名的多级目录下,居然不会了,但想到重写,后来同事说可以用方法2,尝试过也确实是行的,效率哪个高,不知道了。

 

posted on 2014-10-27 14:47  在学习路上  阅读(247)  评论(0编辑  收藏  举报