httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dominique Fober <fo...@grame.fr>
Subject Re: [users@httpd] httpd occasional 403 error
Date Wed, 31 Aug 2005 15:09:55 GMT

Le 31 août 05, à 15:25, Joshua Slive a écrit :

> On 8/31/05, Dominique Fober <fober@grame.fr> 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 request
16: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) = 0
16: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, ...}) = 0
16: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)                      = 0
16: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, ...}) = 0
16: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@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message