Welcome! Log In Create A New Profile

Advanced

X-Accel-Redirect with proxy_pass

Chris Bolt
June 10, 2009 10:06PM
I'm having trouble with a problem that someone appears to have had
trouble with in the past:

http://thread.gmane.org/gmane.comp.web.nginx.english/6619

I'd like a script to return a proxied file, and for nginx to handle
the proxying. My configuration has:

location / {
if ($request_uri ~* ^/(av01|av02)/(.*)) {
set $regex_host $1.da;
set $regex_uri $2;
proxy_pass http://$regex_host/$regex_uri;
}
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www$fastcgi_script_name;
}

test.php is:

<?php
header("X-Accel-Redirect: /av01/robots.txt");
?>

So I would like test.php to return the contents of http://av01.da/robots.txt

$ curl http://testnginx/av01/robots.txt
User-Agent: *
Disallow: /

That's working fine, as error log confirms:

2009/06/10 19:03:30 [notice] 4488#0: *94 "^/(av01|av02)/(.*)" matches
"/av01/robots.txt", client: 10.0.0.25, server: testnginx.da, request:
"GET /av01/robots.txt HTTP/1.1", host: "testnginx"

$ curl http://testnginx/test.php
<html>
<head><title>404 Not Found</title></head>

Hmm:

2009/06/10 19:04:21 [notice] 4488#0: *116 "^/(av01|av02)/(.*)" does
not match "/test.php", client: 10.0.0.25, server: testnginx.da,
request: "GET /test.php HTTP/1.1", upstream:
"fastcgi://127.0.0.1:9000", host: "testnginx"
2009/06/10 19:04:21 [error] 4488#0: *116 open()
"/usr/html/av01/robots.txt" failed (2: No such file or directory),
client: 10.0.0.25, server: testnginx.da, request: "GET /test.php
HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "testnginx"

Is there a regression for this functionality, or am I trying to use a
feature that isn't supported?
Subject Author Posted

X-Accel-Redirect with proxy_pass

Chris Bolt June 10, 2009 10:06PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 181
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready