Hello everyone. I'm having troubles of setting cgi/perl support for Nginx, on OpenBSD 5.3.
I get "502 Bad Gateway" on the browser when I type /cgi-bin/test.cgi - which is a simple "Hello World" cgi file, doesn't work with my setup. The error.log says: [error] 29912#0: *6 upstream prematurely closed FastCGI stdout while reading response header from upstream, server: localhost, request: "GET /cgi-bin/test.cgi HTTP/1.1", upstream: "fastcgi://unix:/run/slowcgi.sock:" # pwd /var/www/htdocs/cgi-bin # cat test.cgi #!/usr/bin/perl print "Content-type: text/html\n\n"; print "<html><body>Hello, world.</body></html>"; both cgi-bin folder and test.cgi file has appropriate chmod sets for executing. Slowcgi is running (I follow 5.3-stable branch, but I downloaded "Makefile", "slowcgi.8" and "slowcgi.c" files and compiled it) : www 20010 0.0 0.1 636 1104 ?? Is 8:58PM 0:01.11 ./slowcgi the socket is also there: # ls -al /var/www/run/slowcgi.sock srw-rw---- 1 www www 0 Jul 8 20:58 /var/www/run/slowcgi.sock Thinking of chroot(), I have even tried adding a copy of perl binary to: # ls -l /var/www/usr/bin/ -rwxr-xr-x 1 root daemon 10725 Jul 9 19:15 perl And my nginx.conf: server { listen 192.168.1.4:80; server_name localhost local.web.ns; root /var/www/htdocs; location ~ ^/cgi-bin/.*\.cgi$ { root /var/www/htdocs; gzip off; fastcgi_pass unix:/run/slowcgi.sock; fastcgi_index index.cgi; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $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 GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx; 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 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; } } } What would be the problem that I don't get the right output on the browser with Nginx from any .cgi files? Thanks.