I am using a FreePascal web module designed for apache cgi-bin with nginx.
The CGI itself is called spidersample.cgi and contains modules such as hello, bye etc.
With Apache when spidersample.cgi/hello is called, spidersample.cgi gets executed, and passes control to the hello subroutine it contains.
With nginx instead of executing spidersample.cgi it treats spidersample.cgi/hello as meaning a hello file in a spidersample.cgi directory, and returns with a 404 error as there is no such directory.
I suspect it is an easily fixed problem with some rewrite rules in the configuration file and it is posted below.
=============================================
server { listen 8118; server_name localhost; access_log /var/log/nginx/sysman_access.log; index index.html; root /home/rchurch/Data/Lazarus/CgiApps;
location ~ \.cgi$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/tmp/sysman_cgi.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_n$
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
}
}
==================================================================