Nginx rewrite help

On Fri, Jun 19, 2009 at 12:18 PM, Kevin
Castiglione[email protected] wrote:

This also produces the same result. the mapping does not work as expected.
thank you!

you may want to check which variables used by your program and adjust
them accordingly.

For example, in (at least) php these are the variables related to
document path

SCRIPT_FILENAME
SCRIPT_NAME
REQUEST_URI
DOCUMENT_URI
DOCUMENT_ROOT

You may need to adjust one or more of these variables (or maybe other
variables) to make your program works

On Thu, Jun 18, 2009 at 11:06 PM, Edho P Arief [email protected]
wrote:

/$host$fastcgi_script_name;

variables) to make your program works

i tried all of these and still no result. my web app is written in
python
and uses flup fastcgi middleware.
thank you!

On Thu, Jun 18, 2009 at 05:26:02PM -0700, Kevin Castiglione wrote:

On Thu, Jun 18, 2009 at 07:21:33AM -0700, Kevin Castiglione wrote:

url to

If you use proxing, then

does this mean the backend fastcgi processes have to be in the same

while this is what i want on the webapp/fastcgi backend
worker_connections 1024;

    server app1.XXX.com:8492 fail_timeout=1s;
    location / {
        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;

    }

}

}

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;

2009/6/19 Igor S. [email protected]

$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

On Fri, Jun 19, 2009 at 07:28:39AM -0700, Kevin Castiglione wrote:

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.

What do you use as FastCGI backend ?

On Fri, Jun 19, 2009 at 9:28 PM, Kevin
Castiglione[email protected] wrote:

how’s the old setup looks like?

2009/6/19 Igor S. [email protected]

What do you use as FastCGI backend ?

python flup is the fastcgi middleware and web.py is the web framework

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 ?

On Fri, Jun 19, 2009 at 7:48 AM, Edho P Arief [email protected]
wrote:

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.
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;

    }

}

}

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

fastcgi_param SCRIPT_FILENAME

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 “porkbun.com | parked domain”, then these
parameters will be “//abc.de.com/some/page”. You may see it in debug
log.

2009/6/19 Igor S. [email protected]

tried these with no results igor!

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 <http://app1.xxx.com:8492/>fail_timeout=1s;

Yes ?

yes, differentports

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

finally got it working
these are the changes i had to do

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

thanks a lot igor and edho!