nginx rewrite help

Igor Sysoev is at rambler-co.ru
Fri Jun 19 19:13:29 MSD 2009


On Fri, Jun 19, 2009 at 07:59:55AM -0700, Kevin Castiglione wrote:

> On Fri, Jun 19, 2009 at 7:48 AM, Edho P Arief <edhoprima at gmail.com> wrote:
> 
> > On Fri, Jun 19, 2009 at 9:28 PM, Kevin
> > Castiglione<kevincastiglione at gmail.com> wrote:
> > > 2009/6/19 Igor Sysoev <is at rambler-co.ru>
> > >>
> > >> On Fri, Jun 19, 2009 at 05:54:06AM -0700, Kevin Castiglione wrote:
> > >>
> > >> > > Probably, you need
> > >> > >
> > >> > >  fastcgi_param SCRIPT_FILENAME
> > >> > > /home/app/work/flock/$host$fastcgi_script_name;
> > >> > >
> > >> > >  or
> > >> > >
> > >> > >  fastcgi_param SCRIPT_FILENAME
> > >> > > $document_root/$host$fastcgi_script_name;
> > >> > >
> > >> > tried these with no results igor!
> > >>
> > >> What server did you use before nginx ?
> > >
> > > ive always used nginx. this is a new setup im trying to do.
> > > thank you
> > >
> > >
> >
> > how's the old setup looks like?
> 
> 
> the config for the current setup is given below. i have different domains
> setup with different server blocks. i want to combine them to one fastcgi
> backend, and my webframe work supports only url level - sub application
> processing. hence i need the url mapping.

So now you use differen ports in upstream, say, 8492:

         server app1.XXX.com:8492 fail_timeout=1s;

Yes ?

With this configuraiton

             fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
             fastcgi_param PATH_INFO       $fastcgi_script_name;

both SCRIPT_FILENAME and PATH_INFO are equal to URI, i.e., if client
requests "/some/page", then these parameter will be "/some/page" too. 

Probably, you need

             fastcgi_param SCRIPT_FILENAME /$host$fastcgi_script_name;
             fastcgi_param PATH_INFO       /$host$fastcgi_script_name;

Then, if client requests "http://abc.de.com/some/page", then these
parameters will be "//abc.de.com/some/page". You may see it in debug log.

> thank you!
> 
> #user  nobody;
> worker_processes  1;
> 
> error_log  /home/app/error_all.log;
> pid        /home/app/nginx.pid;
> 
> events {
>     worker_connections  1024;
> }
> 
> http {
>     include       mime.types;
>     default_type  application/octet-stream;
>     client_header_buffer_size   8k;
>     large_client_header_buffers  4  8k;
>     fastcgi_buffers      32 4k;
>     fastcgi_buffer_size  4k;
>     sendfile        on;
> 
>     server_names_hash_bucket_size 64;
>     keepalive_timeout  5;
> 
>     gzip  on;
>     gzip_comp_level  1;
>     gzip_proxied     private;
>     gzip_buffers     8 4k;
> 
> 
>     upstream backend_flock{
>         server app1.XXX.com:8492 fail_timeout=1s;
>     }
>     server {
>         listen 8080;
>         access_log   /home/app/access_flock.log;
> 
> 
>         client_max_body_size 10m;
> 
>         location /static {
>             root   /home/app/work/flock;
>         }
>         location / {
>             root   /home/app/work/flock;
> 
>             fastcgi_pass backend_flock;
> 
>             fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
>             fastcgi_param PATH_INFO       $fastcgi_script_name;
>             fastcgi_param QUERY_STRING    $query_string;
>             fastcgi_param CONTENT_TYPE    $content_type;
>             fastcgi_param CONTENT_LENGTH  $content_length;
>             fastcgi_param REQUEST_METHOD  $request_method;
>             fastcgi_param REMOTE_ADDR     $remote_addr;
>             fastcgi_param REMOTE_PORT     $remote_port;
>             fastcgi_param SERVER_PROTOCOL $server_protocol;
>             fastcgi_param SERVER_ADDR     $server_addr;
>             fastcgi_param SERVER_PORT     $server_port;
>             fastcgi_param SERVER_NAME     $server_name;
> 
>         }
> 
>     }
> }

-- 
Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list