Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a "hello world" fastcgi running on and would like to serve it via nginx. I added the following lines to the nginx.conf http block:

server {
    server_name $host;

    location / {
        include fastcgi_params;

However, instead of getting the output of the fastcgi, I only get a 502 Bad Gateway response.

error_log says: [error] 1924#0: *1 upstream prematurely closed FastCGI stdout while reading response header from upstream, client: myIP, server: $host, request: "GET / HTTP/1.1", upstream: "fastcgi://", host: ""

share|improve this question
up vote 0 down vote accepted

This sounds like the actual problem is in your FastCGI application. Have a look at it's error log or other output it might have produced.

In general, it might be that your require more FastCGI configuration, to pass on data to your application. A larger setup might include stuff like those settings:

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  HTTPS              $https if_not_empty;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

Again, your FastCGI application's output should tell you more, it could also be a completely nginx-unrelated problem

share|improve this answer
The part you posted is provided by include fastcgi_params;, you were right with the fastcgi application though. Thanks! – thpetrus Jan 31 '13 at 14:32

In case it might help someone else with the same symptoms described above:

In my case, the REQUEST_URI parameter was being configured correctly in a module-specific conf file included from the nginx.conf file. However, because the fastcgi_params file was also being included, the REQUEST_URI was doubly specified. Commenting it out in the fastcgi_params file corrected the problem.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.