RE: apache 408 status code in 2.2.18 later

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The cause of these tends to be related to browsers that do predictive web requests to the server.

The 408 happens after the unused connections time-out.

The issue is also tied to RHEL 6.x and CentOS 6.x systems after a certain kernel version, I can’t remember which one off the top of my head.

I haven’t heard of any ability to stop this from happening, assuming you’re running a public web server and have no control over the browser settings.

If you really care, the only workaround I’m aware of is to configure an apache timeout on empty requests to make them time out quicker. This is currently what I’m doing.

 

LoadModule reqtimeout_module modules/mod_reqtimeout.so

<IfModule reqtimeout_module>

        RequestReadTimeout header=2-10,MinRate=500 body=20-120,MinRate=1000

</IfModule>

 

YMMV

 

-Tony

 

 

From: 박원석 [mailto:jjomacson@xxxxxxxxx]
Sent: Wednesday, January 08, 2014 1:43 AM
To: users@xxxxxxxxxxxxxxxx
Subject: apache 408 status code in 2.2.18 later

 

I sent this mail to users@xxxxxxxxxxxxxxxx but at 06 JAN, but i can't find that mail in mailing list

 

so i send to mail again,

 

 

< --original contents-- >

 

Hello, I send this mail at first time and I had some questions with this enviroment

 

========================================

- Usage : Image Server(there is no backend system)

- Old one  : RHEL5.x,  httpd-2.2.17

- New one : RHEL6.x, httpd-2.2.22

- WEB configuration : old and new one same configuration

- OS parameter : limits.conf, security.conf are same thing

========================================

httpd-default.conf 

Timeout 15

KeepAlive Off

 ========================================

httpd-mpm.conf

<IfModule mpm_worker_module>
    ListenBacklog 8192
    ServerLimit  192
    StartServers         20
    MaxClients         12288
    MinSpareThreads     2048
    MaxSpareThreads     8192
    ThreadsPerChild      64
    MaxRequestsPerChild   60000
</IfModule>

==========================================

 

the problem is that the new one(2.2.22) have the 408 status code in accesslog

183.113.39.228 - - [01/Jan/2014:08:30:11 +0900] "-" 408 - 0
175.241.140.213 - - [01/Jan/2014:08:30:11 +0900] "-" 408 - 0
14.88.50.166 - - [01/Jan/2014:08:30:11 +0900] "-" 408 - 0
175.240.239.52 - - [01/Jan/2014:08:30:11 +0900] "-" 408 - 0
175.253.205.130 - - [01/Jan/2014:08:30:11 +0900] "-" 408 - 0
14.92.97.71 - - [01/Jan/2014:08:30:11 +0900] "-" 408 - 0
175.241.39.59 - - [01/Jan/2014:08:30:12 +0900] "-" 408 - 0
183.126.29.85 - - [01/Jan/2014:08:30:12 +0900] "-" 408 - 0
27.237.217.135 - - [01/Jan/2014:08:30:12 +0900] "-" 408 - 0
115.17.93.229 - - [01/Jan/2014:08:30:12 +0900] "-" 408 - 0
115.6.162.13 - - [01/Jan/2014:08:30:12 +0900] "-" 408 - 0
175.226.150.11 - - [01/Jan/2014:08:30:12 +0900] "-" 408 - 0
175.237.197.228 - - [01/Jan/2014:08:30:12 +0900] "-" 408 - 0
175.243.106.130 - - [01/Jan/2014:08:30:12 +0900] "-" 408 - 0
175.253.245.20 - - [01/Jan/2014:08:30:12 +0900] "-" 408 - 0
118.54.3.227 - - [01/Jan/2014:08:30:12 +0900] "-" 408 - 0
115.14.245.163 - - [01/Jan/2014:08:30:12 +0900] "-" 408 - 0

 

and the count of 408 is like this

 

[root@POSTIMG6 logs]# grep " 408 " access.20131001.log | wc -l

48

[root@POSTIMG6 logs]# more access.20131001.log | wc -l

10148069

[root@POSTIMG6 logs]# grep " 408 " access.20131002.log | wc -l

40

[root@POSTIMG6 logs]# grep " 408 " access.20131003.log | wc -l

66

[root@POSTIMG6 logs]# grep " 408 " access.20131004.log | wc -l

77

[root@POSTIMG6 logs]# grep " 408 " access.20131005.log | wc -l

64

[root@POSTIMG6 logs]# grep " 408 " access.20131006.log | wc -l

53

[root@POSTIMG6 logs]# grep " 408 " access.20131101.log | wc -l

1013

[root@POSTIMG6 logs]# grep " 408 " access.20131115.log | wc -l

2145

[root@POSTIMG6 logs]# grep " 408 " access.20131130.log | wc -l

1668

[root@POSTIMG6 logs]# grep " 408 " access.20131215.log | wc -l

2859

[root@POSTIMG6 logs]# grep " 408 " access.20131216.log | wc -l

3453

[root@POSTIMG6 logs]# grep " 408 " access.20131217.log | wc -l

1747

[root@POSTIMG6 logs]# grep " 408 " access.20131218.log | wc -l

4008

[root@POSTIMG6 logs]# grep " 408 " access.20131219.log | wc -l

7000

[root@POSTIMG6 logs]# grep " 408 " access.20131220.log | wc -l

23146

[root@POSTIMG6 logs]# grep " 408 " access.20131221.log | wc -l

9503

[root@POSTIMG6 logs]# grep " 408 " access.20131222.log | wc -l

101

[root@POSTIMG6 logs]# grep " 408 " access.20131223.log | wc -l

20689

[root@POSTIMG6 logs]# more access.20131223.log | wc -l

14209497

[root@POSTIMG6 logs]# grep " 408 " access.20131224.log | wc -l

10163

[root@POSTIMG6 logs]# grep " 408 " access.20131230.log | wc -l

10946

 

 

 

 

I search the code of 408 and there are some reasons like this

 

- the leak of the apache timeout value

- ddos attacks and etc

 

but I thinks there is not matching above reasons because the old one is not a problem and L4 above the web servers is balancing to the old and new servers in no issues.

 

 I fine some changes between 2.2.17 and 2.2.18 I want to know that the mean of chanelog at 2.2.18 and it will be the reason the 408 status codes.

 

===========================================================

Changes with Apache 2.2.18
  
  *) core: Only log a 408 if it is no keepalive timeout. PR 39785
     [Ruediger Pluem,  Mark Montague <markmont umich.edu>]

 ===========================================================

I understood this substance that if it is no keepalive timeout in apache, all request is return the 408 code. but all of the request are not a return 408 code.

 

my Questions?

1) which case the code of 408 is mainly cause??

 

2) what is the meaning of this changes(in 2.2.18) of the sentence?

 

thanks a lot!!


[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux