bgey 发表于 2016-12-23 07:06:20

nginx reverse proxy cofinguration

based on our case, we need to handle two different url request:
    example/0.5/xxx ==> 192.168.1.100:8080/xxx
    example/0.7/xxx ==> 192.168.1.101:8080/xxx
Here is the configuration:
引用

root@p1:/etc/nginx/conf.d# cat /etc/nginx/conf.d/default.conf
## Basic reverse proxy server ##
## Apache (vm02) backend for www.example.com ##
upstream developserver{
      server 192.168.1.100:8080; #Develop Server
}

## Lighttpd (vm01) backend for static.example.com ##
upstream productionserver{
      server 192.168.1.100:8080; #Production Server
}

## Start www.example.com ##
server {
    listen       10.0.3.138:80; # ip address of proxy server
    server_namewww.example.com;

    access_log/var/log/nginx/www.example.access.log main;
    error_log/var/log/nginx/www.example.error.log;
    root   /usr/share/nginx/html;
    indexindex.html index.htm;

    ## send request back to apache1 ##
    location /0.5 {
   rewrite /0\.5/(.*) /$1 break;
   proxy_passhttp://developserver;
   proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
   proxy_redirect off;
   proxy_buffering off;
   proxy_set_header      Host            $host;
   proxy_set_header      X-Real-IP       $remote_addr;
   proxy_set_header      X-Forwarded-For $proxy_add_x_forwarded_for;
   }
   location /0.7 {
      proxy_passhttp://productionserver;
      rewrite /0\.7/(.*) /$1 break;
      proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
      proxy_redirect off;
      proxy_buffering off;
      proxy_set_header      Host            static.example.com;
      proxy_set_header      X-Real-IP       $remote_addr;
      proxy_set_header      X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}



引用

root@p1:/etc/nginx/conf.d# diff -u/etc/nginx/nginx.conf.bkp /etc/nginx/nginx.conf
--- /etc/nginx/nginx.conf.bkp2015-08-28 14:09:19.744354204 +0800
+++ /etc/nginx/nginx.conf2015-08-28 14:55:35.264441341 +0800
@@ -22,7 +22,9 @@

# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
-
+log_format main'$remote_addr - $remote_user [$time_local] $request '
+'"$status" $body_bytes_sent "$http_referer" '
+'"$http_user_agent" "$http_x_forwarded_for" "$gzip_ratio"';
include /etc/nginx/mime.types;
default_type application/octet-stream;
页: [1]
查看完整版本: nginx reverse proxy cofinguration