| From | Sent On | Attachments |
|---|---|---|
| davvv | Jan 4, 2010 8:46 pm | |
| Claude Bing | Jan 4, 2010 9:18 pm | |
| davvv | Jan 4, 2010 9:36 pm | |
| Claude Bing | Jan 4, 2010 9:40 pm | |
| davvv | Jan 4, 2010 9:46 pm | |
| Piotr Sikora | Jan 4, 2010 9:58 pm | |
| davvv | Jan 4, 2010 10:25 pm | |
| Rob Schultz | Jan 4, 2010 10:31 pm | |
| Piotr Sikora | Jan 4, 2010 11:40 pm | |
| davvv | Jan 5, 2010 12:14 am | |
| Edho P Arief | Jan 5, 2010 1:23 am |
| Subject: | need help calling PHP as a fallback | |
|---|---|---|
| From: | davvv (ngin...@nginx.us) | |
| Date: | Jan 4, 2010 8:46:40 pm | |
| List: | ru.sysoev.nginx | |
I wrote a very scalable HTTP event server in C++ and I would like to make it
work with nginx.
My server is on port 9001, PHP-FPM is running on port 9000.
My server is set up to return a 504 error when an event is found, and the 504
error should trigger the PHP backend.
I've been trying to figure out a way to make it work with nginx and it's
something so elementary, I think I'm just being really stupid.. so I need some
help.
This is basically a short rundown of what happens.
A client hits something like myhost.com/event/, and hangs until there is an
event to server, expiring after 30 seconds by default (if it expires, my server
returns a "NO EVENT" reply, which works); however, if there IS an event, my
server is set up to kick off the client, triggering a 504. Somehow I want to
catch that 504, and redirect the client to a PHP backend (with the query
intact).
This is what I have so far. I haven't worked much with nginx so bear with me...
location /event/ {
proxy_pass http://localhost:9001/callback.eve;
proxy_intercept_errors on;
error_page 504 = @fallback; #if I straight up put backend.php here,
the POST/GET variables disappear
}
location @fallback { internal; fastcgi_param SCRIPT_FILENAME $document_root/backend.php; fastcgi_param QUERY_STRING $query_string; include fastcgi_params; fastcgi_pass 127.0.0.1:9000; }
I get some really strange results with the aforementioned config.. nginx doesn't
break, I don't get an error or anything. PHP doesn't break either. All I get is
a blank page (as in, totally blank) with a 200 OK code. I'm really confused
here, and I'm almost certain there has to be an easy way of doing this
Posted at Nginx Forum: http://forum.nginx.org/read.php?2,36944,36944#msg-36944
_______________________________________________ nginx mailing list ngi...@nginx.org http://nginx.org/mailman/listinfo/nginx





