nginx系列(3):实现反向代理

7月 13, 2008 – 5:19 下午

反向代理又称为服务器加速Server accelerate),原理是将用户的请求转发到目标服务器,然后将结果转发给用户。这样能够保护目标服务器安全、负载均衡容易实现、有点类似防火墙。
关于apache实现反向代理已经在前面(用mod_proxy实现反向代理)介绍过了。这边继续补充一下nginx实现的反向代理。
下面先晒一下nginx的配置:

  1. server {
  2.         listen 80;
  3.         server_name home.ucenter;
  4.         access_log  /var/log/nginx/home.ucenter.access.log;
  5.         location / {
  6.                 root  /home/shanfeng/workspace/ucenter-home;
  7.                 index test.html;
  8.         }
  9.  
  10.         location ~ \.php$ {
  11.                 fastcgi_pass   127.0.0.1:9000;
  12.                 fastcgi_index  index.php;
  13.                 fastcgi_param  SCRIPT_FILENAME  /home/shanfeng/workspace/ucenter-home$fastcgi_script_name;
  14.                 #fastcgi_param  SCRIPT_FILENAME  /etc/nginx/fastcgi_params;
  15.                 include /etc/nginx/fastcgi_params;
  16.         }
  17.  
  18. }
  19. server {
  20.         listen 8080;
  21.         #location / {    //例子1
  22.         #       proxy_pass http://home.ucenter/;
  23.         #}
  24.         location /home/ { //例子2
  25.                 proxy_pass http://home.ucenter/;
  26.         }
  27.         server_name proxy;
  28. }

简单说明: proxy是一个监听8080虚拟server
例子1.直接把proxy根目录下面的请求全部转发到home.ucenter server上面去。
例子2.把proxy下面所有的请求转发到home.ucenter server上面去。

够简单吧,以上例子只限入门,官方文档

Post a Comment