Странное поведение с httpready и dataready
Vladislav Prodan
universite at ukr.net
Fri Mar 28 23:43:41 UTC 2014
# grep accept_filter nginx.conf
listen xx.xx.xx.57 accept_filter=httpready accept_filter=dataready ;
listen xx.xx.xx.60 accept_filter=httpready accept_filter=dataready ;
listen xx.xx.xx.58 accept_filter=httpready accept_filter=dataready ;
listen xx.xx.xx.56 accept_filter=httpready accept_filter=dataready ;
В итоге отдельные боты долбят небольшими пакетами овер 5kpps
...
01:34:20.942605 IP (tos 0x0, ttl 56, id 0, offset 0, flags [DF], proto TCP (6), length 52)
5.10.83.89.41060 > xx.xx.xx.58.80: Flags [.], cksum 0x871a (correct), seq 2, ack 1, win 115, options [nop,nop,TS val 1334154219 ecr 2410240396], length 0
01:34:20.942613 IP (tos 0x0, ttl 64, id 44144, offset 0, flags [DF], proto TCP (6), length 40, bad cksum 0 (->766c)!)
xx.xx.xx.58.80 > 5.10.83.89.41060: Flags [.], cksum 0x180e (incorrect -> 0x8d2d), seq 0, ack 1, win 32, length 0
01:34:20.942615 IP (tos 0x0, ttl 56, id 0, offset 0, flags [DF], proto TCP (6), length 52)
5.10.83.89.41060 > xx.xx.xx.58.80: Flags [.], cksum 0x871a (correct), seq 2, ack 1, win 115, options [nop,nop,TS val 1334154219 ecr 2410240396], length 0
01:34:20.942622 IP (tos 0x0, ttl 64, id 44145, offset 0, flags [DF], proto TCP (6), length 40, bad cksum 0 (->766b)!)
xx.xx.xx.58.80 > 5.10.83.89.41060: Flags [.], cksum 0x180e (incorrect -> 0x8d2d), seq 0, ack 1, win 32, length 0
01:34:20.942976 IP (tos 0x0, ttl 56, id 0, offset 0, flags [DF], proto TCP (6), length 52)
5.10.83.89.41060 > xx.xx.xx.58.80: Flags [.], cksum 0x871a (correct), seq 2, ack 1, win 115, options [nop,nop,TS val 1334154219 ecr 2410240396], length 0
01:34:20.942986 IP (tos 0x0, ttl 64, id 44146, offset 0, flags [DF], proto TCP (6), length 40, bad cksum 0 (->766a)!)
xx.xx.xx.58.80 > 5.10.83.89.41060: Flags [.], cksum 0x180e (incorrect -> 0x8d2d), seq 0, ack 1, win 32, length 0
01:34:20.942988 IP (tos 0x0, ttl 56, id 0, offset 0, flags [DF], proto TCP (6), length 52)
5.10.83.89.41060 > xx.xx.xx.58.80: Flags [.], cksum 0x871a (correct), seq 2, ack 1, win 115, options [nop,nop,TS val 1334154219 ecr 2410240396], length 0
01:34:20.942996 IP (tos 0x0, ttl 64, id 44147, offset 0, flags [DF], proto TCP (6), length 40, bad cksum 0 (->7669)!)
xx.xx.xx.58.80 > 5.10.83.89.41060: Flags [.], cksum 0x180e (incorrect -> 0x8d2d), seq 0, ack 1, win 32, length 0
...
# nginx -V
nginx version: nginx/1.4.7
TLS SNI support enabled
configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I /usr/local/include' --with-ld-opt='-L /usr/local/lib' --conf-path=/usr/local/etc/nginx/nginx.conf --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx-error.log --user=www --group=www --with-file-aio --with-ipv6 --http-client-body-temp-path=/var/tmp/nginx/client_body_temp --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp --http-proxy-temp-path=/var/tmp/nginx/proxy_temp --http-scgi-temp-path=/var/tmp/nginx/scgi_temp --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp --http-log-path=/var/log/nginx-access.log --with-http_flv_module --with-http_stub_status_module --with-http_sub_module --with-pcre --with-http_ssl_module
# uname -a
FreeBSD vm-10-1.domain.com 10.0-STABLE FreeBSD 10.0-STABLE #0: Tue Mar 18 23:06:27 EET 2014 root at vm-10-1.domain.com:/usr/obj/usr/src/sys/vm-10.3 amd64
# kldstat -v | grep accf_
285 accf_http
284 accf_dns
283 accf_data
--
Vladislav V. Prodan
System & Network Administrator
http://support.od.ua
+380 67 4584408, +380 99 4060508
VVP88-RIPE
Подробная информация о списке рассылки nginx-ru