LINUX.ORG.RU
решено ФорумAdmin

Браузер не открывает больше 6 соединений

 ,


0

1

Пробую делать HTTPS GET запрос на сервер, асинхронно, сразу 10. Соединение бесконечное, качается mp4 файл бесконечно. Браузер открывает 6 соединений, а остальные 4 находятся в состоянии pending. Если открыть окно браузера в режиме инкогнито или запустить другой браузер (проверял в Chrome|Opera|FF) и там открыть ещё 10 соединений, то откроются также только 6. Если открыать просто новую вкладку, то ни откроется ни одно соединение, т.к. в соседней вкладке уже висят эти 6 соединений. Если закрыть активное соединение, то откроется соединение, которое было в состоянии pending.

Проверял через скрипт node, там все нормально, хоть 20 хоть 30 одновременно открывается

В логах nginx все чисто, вижу только 6 соединений (ну когда завершаются их видно в access.log со статусом 200). Остальные соединения нигде не регистрируются, ни в error.log ни в access.log, нигде их не видно.

Потом начал tcpdump смотреть на предмет SYN

tcpdump -i eth0 -n tcp and port 443 and src my_remote_ip and "tcp[tcpflags] & (tcp-syn) != 0"


вижу только 4 SYN от браузера. Если запустить 20 конектов через node, то вижу все 20 SYN. Похоже на то, что браузер использует keep-alive.

Отключил я keep-alive в nginx

keepalive_timeout 0;

Теперь в отвере от сервера заголовок Connection: close. Не помогло!
В iptables нет никаких ограничений

Конфиг nginx

user gobot;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
  worker_connections 768;
}

http {
	server_tokens off;
	sendfile on;
	tcp_nopush on;
	tcp_nodelay on;
	keepalive_timeout 0;
	types_hash_max_size 2048;  
	access_log /var/log/nginx/access.log;
	error_log /var/log/nginx/error.log;

	#cache off
	add_header Last-Modified $date_gmt;
	add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
	if_modified_since off;
	expires off;
	etag off;

	gzip on;
	gzip_disable "msie6";
}



Походу это ограничение в браузерах. Хм, даже не знал
https://stackoverflow.com/questions/985431/max-parallel-http-connections-in-a...

Чепуха какая то!

★★★★

Последнее исправление: gobot (всего исправлений: 2)

Походу это ограничение в браузерах. Хм, даже не знал

Если не знаешь, в чём именно дело, то да, очень весело натыкаться на это ограничение (у меня тоже было)

Dimez ★★★★★
()
Ответ на: комментарий от Dimez

У меня это уже второй раз. Первый раз я о нем узнал много лет назад, потом забыл. Вот сейчас снова вспомнил.

Самое гнусное это то, что браузеры не делают никаких предупреждений об ограничении

gobot ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.