alternating 404 and 200
Nuno Magalhães
nunomagalhaes at eu.ipp.pt
Wed Sep 2 15:27:24 MSD 2009
I'm sorry, i didn't notice your reply (too many mailing lists and a
web client...).
2009/8/28 Igor Sysoev <is at rambler-co.ru>:
> Do you see these 404's in access_log and error_log ?
Yes, both the 200 (and following 304) and the 404 error show up in the
access log. I had forgotten about the error log! Turns out the 404 are
because there was no 50x.html, which is now displayed instead of my
custom 404 page. So the true error is 502 but i'm not running nginx as
a proxy, it's the only http server.
The error is this:
2009/09/02 12:03:32 [error] 8296#0: *79 recv() failed (104: Connection
reset by peer) while reading response header from upstream, client:
127.0.0.1, server: localhost, request: "GET
/subfolder/index.php?var=param HTTP/1.1", upstream:
"fastcgi://127.0.0.1:9000", host: "localhost:8080", referrer:
"http://localhost:8080/subfolder/index.php"
Although i kind of suspected it (because a simple html file didn't do
this), i didn't assume cgi would be the problem since i haven't
touched its configuration in ages. I did upgrade my Debian, and the
/etc/nginx/fastcgi_params was indeed replaced to the default. However,
i (think i) had only removed $nginx_version from SERVER_SOFTWARE, but
i'm not sure.
This is the current:
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 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;
(I actually don't know if PHP was built with that, but i assume
phpinfo() and finding text will answer.)
My current nginx is compiled from 0.8.10 source although i used some
files from the Debian package (for logrotate, pre/post-install
scripts, boot scripts and what not), creating a new .deb package (with
checkinstall). Maybe that interfered with the system upgrade and or
nginx/php-cgi configurations.
I'm probably overflowing some buffer of filling some cache or
something on cgi. How can i solve this?
While i was trying to figure out if it was nginx or php i installed
Apache, which ended up confusing me even more... Anyway, i have the
following directories in /var/www: apache, nginx_default, site01. I
changed my nginx.conf and my server{ } so that both have root /var/www
and restarted nginx (i've also tried stop/start). I use URLs like
"http://localhost:8080/site01", but nginx is still serving the site
from /var/www/nginx_default/site01, not /var/www/site01 as i expected.
What am i doing wrong this time? :)
I'm sorry i didn't check the error.log sooner. thanks for your help.
Nuno Magalhães
--
() ascii-rubanda kampajno - kontraŭ html-a retpoŝto
/\ ascii ribbon campaign - against html e-mail
More information about the nginx
mailing list