Перевожу некий joomla сайт c apache на nginx. В joomla есть некий компонент для загрузки на сайт изображений, который использует java applet http://jupload.sourceforge.net/. Этот аплет никак не хочет работать с nginx. К примеру при начальной загрузке аплета он пытается проверить post url c помошью HEAD запроса. В случае apache всё нормально, в случае nginx после посылки аплетом HEAD запроса для сервера выглядить как клиент закрыл соединение, для клиента как сервер закрыл. Включение/выключение tcp_nodelay и tcp_nopush в nginx не помогло. Все это на одной машине, т.е. опции sysctl одни и те же.
Ниже детализованная информация. Пакеты с данными отмечены. То же происходит под разными клиентскими браузерами/os. В случае apache клиент закрывает соединение (FIN) сразу после посылки HEAD запроса, но сервер ещё шлёт данные (как я понимаю это half-close connection). В случае nginx cервер по сути почти сразу закрывает соединие.
apache tcpdump:
21:29:22.974011 IP 192.168.1.158.53590 > server.80: S 1107190968:1107190968(0) win 65535 <mss 1460,nop,wscale 1,nop,nop,timestamp 669841553 0,sackOK,eol>
21:29:23.064207 IP server.80 > 192.168.1.158.53590: S 984647680:984647680(0) ack 1107190969 win 5792 <mss 1460,sackOK,timestamp 367503289 669841553,nop,wscale 7>
21:29:23.064244 IP 192.168.1.158.53590 > server.80: . ack 1 win 33304 <nop,nop,timestamp 669841554 367503289>
21:29:23.064563 IP 192.168.1.158.53590 > server.80: P 1:389(388) ack 1 win 33304 <nop,nop,timestamp 669841554 367503289> - HEAD /administrator/index.php?option=com_joomgallery&task=juploadhandler_receive HTTP/1.1
21:29:23.071329 IP 192.168.1.158.53590 > server.80: F 389:389(0) ack 1 win 33304 <nop,nop,timestamp 669841554 367503289>
21:29:23.156267 IP server.80 > 192.168.1.158.53590: . ack 389 win 54 <nop,nop,timestamp 367503381 669841554>
21:29:23.156299 IP 192.168.1.158.53590 > server.80: F 389:389(0) ack 1 win 33304 <nop,nop,timestamp 669841555 367503381>
21:29:23.200585 IP server.80 > 192.168.1.158.53590: . ack 390 win 54 <nop,nop,timestamp 367503426 669841554>
21:29:23.200637 IP 192.168.1.158.53590 > server.80: . ack 1 win 33304 <nop,nop,timestamp 669841556 367503426>
21:29:23.245360 IP server.80 > 192.168.1.158.53590: . ack 390 win 54 <nop,nop,timestamp 367503470 669841555,nop,nop,sack 1 {389:390}>
21:29:23.334561 IP server.80 > 192.168.1.158.53590: P 1:214(213) ack 390 win 54 <nop,nop,timestamp 367503558 669841556> - HTTP/1.1 200 OK
21:29:23.334566 IP server.80 > 192.168.1.158.53590: F 214:214(0) ack 390 win 54 <nop,nop,timestamp 367503558 669841556>
21:29:23.334626 IP 192.168.1.158.53590 > server.80: . ack 214 win 33197 <nop,nop,timestamp 669841557 367503558>
21:29:23.334654 IP 192.168.1.158.53590 > server.80: . ack 215 win 33197 <nop,nop,timestamp 669841557 367503558>
Для Nginx:
19:49:33.805120 IP 192.168.1.158.51975 > server.80: S 4062245563:4062245563(0) win 65535 <mss 1460,nop,wscale 3,nop,nop,timestamp 669781685 0,sackOK,eol>
19:49:33.809760 IP server.80 > 192.168.1.158.51975: S 3823098756:3823098756(0) ack 4062245564 win 5792 <mss 1460,sackOK,timestamp 290138093 669781685,nop,wscale 7>
19:49:33.809808 IP 192.168.1.158.51975 > server.80: . ack 1 win 65535 <nop,nop,timestamp 669781685 290138093>
19:49:33.809973 IP 192.168.1.158.51975 > server.80: P 1:464(463) ack 1 win 65535 <nop,nop,timestamp 669781685 290138093> - HEAD /administrator/index.php?option=com_joomgallery&task=juploadhandler_receive HTTP/1.1
19:49:33.809996 IP 192.168.1.158.51975 > server.80: F 464:464(0) ack 1 win 65535 <nop,nop,timestamp 669781685 290138093>
19:49:33.815810 IP server.80 > 192.168.1.158.51975: . ack 464 win 54 <nop,nop,timestamp 290138098 669781685>
19:49:33.815843 IP 192.168.1.158.51975 > server.80: F 464:464(0) ack 1 win 65535 <nop,nop,timestamp 669781685 290138098>
19:49:33.818232 IP server.80 > 192.168.1.158.51975: F 1:1(0) ack 465 win 54 <nop,nop,timestamp 290138099 669781685>
19:49:33.818262 IP 192.168.1.158.51975 > server.80: . ack 2 win 65535 <nop,nop,timestamp 669781685 290138099>
19:49:33.820036 IP server.80 > 192.168.1.158.51975: . ack 465 win 54 <nop,nop,timestamp 290138104 669781685,nop,nop,sack 1 {464:465}>
Nginx logs:
==> ../logs/access.log <==
192.168.1.158 - - [27/Jun/2009:23:40:36 -0400] "HEAD /administrator/index.php?option=com_joomgallery&task=juploadhandler_receive HTTP/1.1" 499 0 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7; en-us) AppleWebKit/530.18 (KHTML, like Gecko) Version/4.0.1 Safari/530.18"
==> ../logs/error.log <==
2009/06/27 23:40:36 [info] 5110#0: *11 client closed prematurely connection, so upstream connection is closed too while sending request to upstream, client: 192.168.1.158, server: server, request: "HEAD /administrator/index.php?option=com_joomgallery&task=juploadhandler_receive HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.server"
Полный head заголовок:
HEAD /administrator/index.php?option=com_joomgallery&task=juploadhandler_receive HTTP/1.1
Host: www.server
Accept: */*
Accept-Encoding: identity
Connection: close
Cookie: 2d6498ed29010381ca627f9124f1eeba=6fa36898d3935f245e49837a54c8ee64
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7; en-us) AppleWebKit/530.18 (KHTML, like Gecko) Version/4.0.1 Safari/530.18
Ответ на:
комментарий
от tungus
Ответ на:
комментарий
от tungus
Ответ на:
комментарий
от tungus
Ответ на:
комментарий
от true_admin
Ответ на:
комментарий
от tungus
Ответ на:
комментарий
от tungus
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Нужна помощь. странный входящий трафик (почтовый червь?) (2008)
- Форум Тоннель не возвращает трафик (2013)
- Форум Проблема с пробросом портов. (2013)
- Форум Почтовый сервер не запущен, но пакеты по 25 порту ходят (2008)
- Форум tcpdump && TCP connection establishment && SYN_RECV state (2008)
- Форум Ожидание при создании сокета (2017)
- Форум Проброс портов (2016)
- Форум nginx, tcp и потеря пакетов. (2014)
- Форум Отсутствует запись в ARP таблице. (2014)
- Форум Проблема с доступом к приложениям за роутером (2021)