Seems to be working now. IE7 seems to honor disconnection although it falls back to http/1.0 sometimes (not always) xxx.250.122.18 - - [31/Aug/2007:13:23:34 +0300] "GET /pilt/pildid/200919avatar_4344.gif HTTP/1.1" 408 223 "http://www.domain.com/index.php?showtopic=31006&st=100"; xxx.250.122.18 - - [31/Aug/2007:13:23:34 +0300] "GET /pilt/pildid/200919avatar_4344.gif HTTP/1.0" 304 - "http://www.domain.com/index.php?showtopic=31006&st=100";

Added patch that will produce warning message in non-debug mode with vhost in question so it would be possible to track these kind of actions and do some conclusions. [Fri Aug 31 13:23:34 2007] [warn] invalid virtualhost for this child! (www.domain.com)

I also checked mpm-itk and it does the same thing: just closes connection.
Wierd thing was that if we "return DECLINED" then it still continues (?!) and serves request. If some return code is returned it works ok (although this return message never gets delivered since we closed the connection first).

Also error rate is quite rare. 5 hours testing, 5 keepalive "breakages" and 140 000 reqs.

Janno

Janno Sannik wrote:
Matthias Vill wrote:
Hi there,
We are returning 408 HTTP_REQUEST_TIMEOUT if anybody tries such a request. Don't know if it's right thing to do? Or we could also just close the connection. I don't know how browsers react, since haven't found any "smart" ones.
What happens on a 408, doesn't the user get an error page?
According to our best friend RFC 2616 for HTTP/1.1

10.4.9 408 Request Timeout

   The client did not produce a request within the time that the server
   was prepared to wait. The client MAY repeat the request without
   modifications at any later time.

So if the client has implemented 408 it is just perfect for our
situation as we don't get like "You 've been redirected"-messages or so
but can plainly tell the browser to retry.
Most propably there won't be any POST-requests, but many browsers do
complain on redirected POST-forms.

Unfortunately , it didn't work. Internet explorer 6.0 got error and did not reload. Now testing with "connection close" method. This seems to be quite rare and not so straightforwardly reproduceable, since given same conditions I couldn't make it to the error page.

Greetings

Matthias
------------------------------------------------------------------------

_______________________________________________
Peruser mailing list
[email protected]
http://www.telana.com/mailman/listinfo/peruser

_______________________________________________
Peruser mailing list
[email protected]
http://www.telana.com/mailman/listinfo/peruser

--- httpd-2.2.3-clean/server/mpm/experimental/peruser/peruser.c 2007-08-30 
12:39:40.000000000 +0300
+++ httpd-2.2.3/server/mpm/experimental/peruser/peruser.c       2007-08-31 
10:06:51.219040316 +0300
@@ -2741,6 +2741,14 @@
         case CHILD_TYPE_PROCESSOR:
         case CHILD_TYPE_WORKER:
         {
+               if (sconf->senv != CHILD_INFO_TABLE[my_child_num].senv) {
+                       ap_log_error(APLOG_MARK, APLOG_WARNING, 
+                                    0, ap_server_conf,
+                                   "invalid virtualhost for this child! (%s)", 
r->hostname);
+                       ap_lingering_close(r->connection);
+                       return HTTP_REQUEST_TIME_OUT;
+               }
+               
             _DBG("%s %d", 
child_type_string(CHILD_INFO_TABLE[my_child_num].type), my_child_num);
             _DBG("request for %s / (server %s) seems to be for us", 
r->hostname, r->server->server_hostname);
 
_______________________________________________
Peruser mailing list
[email protected]
http://www.telana.com/mailman/listinfo/peruser

Reply via email to