Le 31 août 05, à 15:25, Joshua Slive a écrit :
On 8/31/05, Dominique Fober <fober@xxxxxxxx> wrote:When I remove the proxy related options (-DHAVE_PROXY_CONNECT -DHAVE_PROXY_FTP -DHAVE_PROXY_HTTP -DHAVE_PROXY) the occasional 403 error problem disappear. Do you think it's a bug (or an unexpected behavior)? should I send a report to the apache modules mailing list?It would be the apache-httpd bug database, not the modules mailing list. But I think it is at least equally probable that the bug is specific to something mandrake has done, and there is really not enough information to diagnose it further. To get that information, you really need to do some more debugging as I suggested in a previous message.
you're right. Moreover, maybe I've been in a hurry to announce that it solves the problem. What I'm sure now is that with the proxy options I can reproduce the problem at will, but it seems to me I've also got a 403 error without them (but can't reproduce). Thus, here is the strace output that leads to the 403 error:
this is the poll after the last successful request16:35:46 poll([{fd=4, events=POLLIN, revents=POLLIN}, {fd=3, events=POLLIN}], 2, -1) = 1
here the wget script waits for 3 seconds...16:35:49 accept(4, {sa_family=AF_INET6, sin6_port=htons(38301), inet_pton(AF_INET6, "::ffff:194.5.49.22", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [28]) = 21 16:35:49 fcntl64(20, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=0, len=0}) = 0 16:35:49 getsockname(21, {sa_family=AF_INET6, sin6_port=htons(80), inet_pton(AF_INET6, "::ffff:194.5.49.28", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [28]) = 0
16:35:49 fcntl64(21, F_GETFL) = 0x2 (flags O_RDWR) 16:35:49 fcntl64(21, F_SETFL, O_RDWR|O_NONBLOCK) = 0 16:35:49 read(21, "GET / HTTP/1.0\r\nUser-Agent: Wget"..., 8000) = 99 16:35:49 gettimeofday({1125498949, 934828}, NULL) = 016:35:49 stat64("/home/www/html/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
16:35:49 lstat64("/home", {st_mode=S_IFDIR|0751, st_size=4096, ...}) = 016:35:49 lstat64("/home/www", {st_mode=S_IFDIR|0751, st_size=4096, ...}) = 0 16:35:49 lstat64("/home/www/html", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 16:35:49 open("/home/www/html/.htaccess", O_RDONLY) = -1 ENOENT (No such file or directory) 16:35:49 open("/var/cache/httpd/HPG/_fl/4vT/gn5/TI7/KwxGxaA.data", O_RDONLY) = 22 16:35:49 open("/var/cache/httpd/HPG/_fl/4vT/gn5/TI7/KwxGxaA.header", O_RDONLY) = 23
16:35:49 fstat64(22, {st_mode=S_IFREG|0600, st_size=545, ...}) = 0 16:35:49 read(23, "0", 1) = 1 16:35:49 read(23, "0", 1) = 1 16:35:49 read(23, "0", 1) = 1 16:35:49 read(23, "3", 1) = 1 etc..------------------------------------------------------------------------ ---------------------
in fact, it reads the cached header file which content is:0003FFA2A3F5F180 0003FFA2A5642780 0000000000000000 0003FFA2A3F51473 0003FFA2A3F5F180
X-NAME: nrd.grame.fr/index.html? Last-Modified: Tue, 30 Aug 2005 11:00:24 GMT Content-Length: 545 Content-Type: text/plain ETag: "6147da-221-84d1a200" Accept-Ranges: bytes Date: Wed, 31 Aug 2005 14:35:30 GMT 200 200 OK User-Agent: Wget/1.9.1 Host: nrd.grame.fr Accept: */* Connection: Keep-Alive Referer: http://nrd.grame.fr/menu.html ... eof------------------------------------------------------------------------ ---------------------
16:35:49 close(23) = 0 16:35:49 close(22) = 016:35:49 open("/var/cache/httpd/d8t/x@o/7r0/6FN/u0G/3Blc9Vw.data", O_RDONLY) = -1 ENOENT (No such file or directory)
and here is the strange part: it looks for 'index.html.var' (instead of index.html) which is of course not found 16:35:49 stat64("/home/www/html/index.html.var", 0xbfffe9ec) = -1 ENOENT (No such file or directory)
16:35:49 lstat64("/home", {st_mode=S_IFDIR|0751, st_size=4096, ...}) = 016:35:49 lstat64("/home/www", {st_mode=S_IFDIR|0751, st_size=4096, ...}) = 0 16:35:49 lstat64("/home/www/html", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 16:35:49 lstat64("/home/www/html/index.html.var", 0xbfffe9cc) = -1 ENOENT (No such file or directory) 16:35:49 open("/var/cache/httpd/H2k/qEQ/s6A/3fg/Rnr/50Oqi6A.data", O_RDONLY) = -1 ENOENT (No such file or directory)
and continue to look for alternate index files which are not present until it decides that it's a 403 error 16:35:49 stat64("/home/www/html/index.php", 0xbfffe9ec) = -1 ENOENT (No such file or directory)
etc... for memory:DirectoryIndex index.html index.html.var index.php index.php3 index.shtml index.cgi index.pl index.htm Default.htm default.htm index.xml
--- Dominique Fober --------------------------------------------------------------------- The official User-To-User support forum of the Apache HTTP Server Project. See <URL:http://httpd.apache.org/userslist.html> for more info. To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx " from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx