LINUX.ORG.RU
ФорумAdmin

Nginx ERR_CONNECTION_RESET

 , , , ,


0

3

Когда открываешь сайт в хроме в режиме инкогнито, то первый запрос висит около 30 сек. и потом ERR_CONNECTION_RESET. Повторная перезагрузка страницы моментально все загружает.

Снова закрываю окно, открываю в инкогнито - та же самая проблема.

Бывает по другому - не грузятся js скрипты - тоже ERR_CONNECTION_RESET

Бывает скрипт загрузится через 40 сек., сервер отдаст 200 код, но все равно браузер ERR_CONNECTION_RESET выдает

Бывает JS скрипт грузит 10 секунд

HTTP/1.1 200 OK
Server: Angie
Date: Thu, 23 Apr 2026 05:19:27 GMT
Content-Type: application/javascript
Last-Modified: Fri, 20 Mar 2026 03:13:15 GMT
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"69bcbb4b-2953ee"
Cache-Control: public, max-age=100000
Content-Encoding: gzip


Пробовал отключать chunked_transfer_encoding off

Есть особенность: виртхост - 2 домена. Первый - основной работает без проблем, а со вторым такие проблемы. В логах ничего.

С первого раза не запускается сайт. Если загружать не браузером - то любой запрос с 1 раза проходит нормально - вообще без проблем.
Пробовал с хрома, оперы, никаких расширений нет. ВПН нет. Симптомы вообще не понятны, в какую сторону копать

★★★★

Последнее исправление: gobot (всего исправлений: 2)
Ответ на: комментарий от router

Проверь настройки сайта

Что именно?

И заодно что ты внес в DNS

Что внес в ДНС?

curl нормально работает и через 1.2 и 1.3

curl.exe --tlsv1.2 --tls-max 1.2
curl.exe

всяко разно загружает. FF только 1.3 использует и тоже работает. Не работает только поганый хром + опера + яндекс. На мобиле и компе проверял и через вифи и через Т2

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

curl и хром по-разному работают с tls. забор их различает

Что именно?

Их можно читать. И параллельно смотреть в документации все эти смешные директивы. Если это то, о чем я думаю, вопрос быстро отпадет и вместо него появятся новые знания

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от router

Всяко разно уже крутил

ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;


В разных комбинациях: убирал TLSv1.2 и TLSv1.3 и ON и OFF - толку нет. Чиферы эти гугл ИИ подсказал

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

виртхост имеет 2 домена. 1 работает стабильно, второй с первого раза никогда не соединяется

Длина имен сильно разная? Сейчас с tls бывают совсем странные проблемы - https://forum.nag.ru/index.php?/topic/212075-problemy-s-tls-na-safari/

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

Да почти 1 в 1. Есть даже длиннее имена в этом сертификате, но они работают

Да, в точности такая же проблема «Смотрю tcpdump от Safari - после отправки „Client Hello“ вижу несколько retransmission-ов и сброс соединения»

Я даже на этот NAG зайти не могу, такая же проблема net::ERR_CONNECTION_RESET CSS\JS

Открыл с 5 попытки

gobot ★★★★
() автор топика
Последнее исправление: gobot (всего исправлений: 3)

Эксперты, нужно решить 4 задачи на сегодня

* Почему хром выбирает случайным образом какую версию TLS использовать
* Почему FF использует только TLSv3?
* Почему другие домены на этом же виртхосте и сертификате всегда использует TLSv3 в Хроме и в FF
* Почему CURL работает всегда на обоих версиях TLS

+ Пробовал перевыпуск сертификата
+ Пробовал отдельный сертификат для ПЛОХОГО домена и отдельный виртхост для него
+ Пробовал запускать сайт с этим же доменом в локальной сети (hosts) - работает

Симптомы проблемы схожи с https://forum.nag.ru
Если открывать сайт первый раз - виснет и после Client Hello идут Retransmissions

Потом все тоже самое - Хром переходит на TLSv1.3 и сайт загружается. Повторная перезагрузка - тоже работает. Но если снова открыть сайт в инкогнито - то все начинается заново. TLSv1.2 виснет

gobot ★★★★
() автор топика
Последнее исправление: gobot (всего исправлений: 3)

Если запустить хром с --ssl-version-max=tls1.2 предварительно закрыв все старые окна и убив процесс старый принудительно

То работает! Сайт грузится постоянно

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

Если это баг в ТСПУ то пусть исправляют или как вообще эта процедура решается?

Так это не баг, это фича.
Оно по каким-то косвенным признакам определяет тебя как ненужно и рвет коннект. Оно так и должно работать.
Провайдерам эти штуки ставят свыше, они на них повлиять не могут.
Можешь написать в спортлото, серьезно, друого пути нет. Пытаться что-то там внести в РКН и их белые списки не прокатит, если ты не крупная компания.
И это, почитай ты уже новости, уже пару лет как об этом везде пишут. Гуглить можно по фразе «16 килобайт».

Zhbert ★★★★★
()
Последнее исправление: Zhbert (всего исправлений: 2)
Ответ на: комментарий от r--r--r--

Со второй половины января этого года.

ТСПУ как таковые поставили уже давно. Где-то в 2020 году стали активно их внедрять. С тех пор местами начало шатать интернет. Гайки сильно закручивают с полгода примерно, тут ты прав.

Zhbert ★★★★★
()
Последнее исправление: Zhbert (всего исправлений: 1)
Ответ на: комментарий от Zhbert

"16 килобайт" запустили в работу после январских праздников конкретно для TLS 1.3 Encrypted Client Hello (ECH) @ Cloudflare / Amazon.

Прежние механизмы блокировки работают по-прежнему на прежний диапазон целей (и обходятся прежними способами).

r--r--r--
()
Ответ на: комментарий от Zhbert

Я к тому, что "старые" блокировки и "16 Кб" - это технически две разные истории, которые могут быть решены разными способами.

r--r--r--
()
Последнее исправление: r--r--r-- (всего исправлений: 1)
Ответ на: комментарий от r--r--r--

Я к тому, что «старые» блокировки и «16 Кб» - это технически две разные истории, требующие разного решения.

Да, ты прав.
Но почитай ветку: ТС не знает, что такое ТСПУ, и если сейчас искать про активные методы их работы, то напрашивается именно «16 килобайт».

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

Ну какая фича если баг. Либо хром изменил свое поведение, которое не нравиться ТСПУ, либо какие то специфичные настройки моей ОС - ну хотя ничего не менял, только таймауты и всякие куки в TCP стеке, ну это против атак и флуда всякого

А что ещё может не понравиться? На другом сервере (из этого же провайдера) работает сайт с этим же доменом, но хром уже использует TLSv1.3.

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

если сейчас искать про активные методы их работы

То ему это ничем не поможет. Тред не про то, как лично он не может получить доступ к сайту. Тред про то, что его сайт открывается через раз.

Для него сейчас единственный рабочий варик - понизить на сервере TLS до 1.2

r--r--r--
()
Последнее исправление: r--r--r-- (всего исправлений: 1)
Ответ на: комментарий от r--r--r--

Так наоборот через TLS1.2 не работает, вы тут вообще о чем разговариваете друг с другом? Водите вилами по воде, из пустого в порожнее. Я написал четко: почему хром использует вместо TLS1.3 - версию. 1.2, расписал кучу всего. Может и не в ТСПУ дело совсем

gobot ★★★★
() автор топика
Ответ на: комментарий от r--r--r--

Вот, как обычно, если нечего сказать по теме - нужно обсуждать автора темы и показывать мастерство в эпистолярном жанре

Вот

Пока что вопрос №1 - почему хром вместо TLS1.3 сначала пытается загрузить по старому TLS1.2, хотя везде пишут что хром активно переходит на TLS1.3

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

Вопрос: у тебя винда, с другой винды, менее затрояненной, проверял? С нормальной системы проверял? Очень похоже либо на сошедшую с ума какую-нибудь проактивную защиту в вендопрограммах, либо на средства обхода блокировок.

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

Нет, естественно, поведение одинаковое и на wifi и на мобильном интернете.

А нет, на мобильном нормально открывается о_О Это я забыл вкладку обновить.

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

Вот такой дамп с обоих сторон

Заметил, что Client Hello пакет размером 1870 байт. Это нормально? Обычно длинна не превышает 1494
Ну и на стороне сервера не видно что клиент прислал TLS (детектится как просто TCP)

Client (WireShark Chrome)

No.	Time	Source IP	Src Port	Destination	Dst Port	Protocol	Length	Info
21:24:49    192.168.0.105	62998	SERVER	443	TCP	66	62998 → 443 [SYN] Seq=1162882800 Win=64240 Len=0 MSS=1460 WS=256 SACK_PERM
21:24:49    SERVER	 443 	192.168.0.105	62998	TCP	66	443 → 62998 [SYN, ACK] Seq=4108186061 Ack=1162882801 Win=64240 Len=0 MSS=1440 SACK_PERM WS=512
21:24:49    192.168.0.105 	62998	SERVER	443	TCP	54	62998 → 443 [ACK] Seq=1162882801 Ack=4108186062 Win=263424 Len=0
21:24:49    192.168.0.105 	62998	SERVER	443	TLSv1.2	1870	Client Hello (SNI=pupsik.ru)
21:24:49    192.168.0.105 	62998	SERVER	443	TCP	1494	[TCP Retransmission] 62998 → 443 [PSH, ACK] Seq=1162883177 Ack=4108186062 Win=263424 Len=1440
21:24:50    192.168.0.105  	62998	SERVER	443	TCP	1494	[TCP Retransmission] 62998 → 443 [ACK] Seq=1162882801 Ack=4108186062 Win=263424 Len=1440
21:24:50    192.168.0.105 	62998	SERVER	443	TCP	1494	[TCP Retransmission] 62998 → 443 [ACK] Seq=1162882801 Ack=4108186062 Win=263424 Len=1440
21:24:52    192.168.0.105 	62998	SERVER	443	TCP	1494	[TCP Retransmission] 62998 → 443 [ACK] Seq=1162882801 Ack=4108186062 Win=263424 Len=1440
21:24:54    192.168.0.105 	62998	SERVER	443	TCP	1494	[TCP Retransmission] 62998 → 443 [ACK] Seq=1162882801 Ack=4108186062 Win=263424 Len=1440
21:24:59    192.168.0.105 	62998	SERVER	443	TCP	1494	[TCP Retransmission] 62998 → 443 [ACK] Seq=1162882801 Ack=4108186062 Win=263424 Len=1440
21:25:08    192.168.0.105 	62998	SERVER	443	TCP	54	62998 → 443 [RST, ACK] Seq=1162884241 Ack=4108186062 Win=0 Len=0


Server (tcpdump -> pcap)
No.	Time	Source	Src Port	Destination	Dst Port	Protocol	Length	Info
21:24:49    CLIENT	62998	SERVER	443	TCP	66	62998 → 443 [SYN] Seq=1162882800 Win=64240 Len=0 MSS=1440 WS=256 SACK_PERM
21:24:49    SERVER	443	CLIENT	62998	TCP	66	443 → 62998 [SYN, ACK] Seq=4108186061 Ack=1162882801 Win=64240 Len=0 MSS=1460 SACK_PERM WS=512
21:24:49    CLIENT	62998	SERVER	443	TCP	60	62998 → 443 [ACK] Seq=1162882801 Ack=4108186062 Win=263424 Len=0
21:24:49    CLIENT	62998	SERVER	443	TCP	1494	62998 → 443 [ACK] Seq=1162882801 Ack=4108186062 Win=263424 Len=1440
21:24:49    SERVER	443	CLIENT	62998	TCP	54	443 → 62998 [ACK] Seq=4108186062 Ack=1162884241 Win=67584 Len=0
21:24:54    SERVER	443	CLIENT	62998	TCP	54	443 → 62998 [FIN, ACK] Seq=4108186062 Ack=1162884241 Win=67584 Len=0
21:24:54    SERVER	443	CLIENT	62998	TCP	54	[TCP Retransmission] 443 → 62998 [FIN, ACK] Seq=4108186062 Ack=1162884241 Win=67584 Len=0
21:24:54    SERVER	443	CLIENT	62983	TCP	54	443 → 62983 [FIN, ACK] Seq=2917440915 Ack=4056825792 Win=132 Len=0
21:24:55    SERVER	443	CLIENT	62998	TCP	54	[TCP Retransmission] 443 → 62998 [FIN, ACK] Seq=4108186062 Ack=1162884241 Win=67584 Len=0
21:24:55    SERVER	443	CLIENT	62998	TCP	54	[TCP Retransmission] 443 → 62998 [FIN, ACK] Seq=4108186062 Ack=1162884241 Win=67584 Len=0
21:24:56    SERVER	443	CLIENT	62998	TCP	54	[TCP Retransmission] 443 → 62998 [FIN, ACK] Seq=4108186062 Ack=1162884241 Win=67584 Len=0
21:24:57    SERVER	443	CLIENT	62989	TCP	54	[TCP Retransmission] 443 → 62989 [FIN, ACK] Seq=4015185022 Ack=2892066801 Win=132 Len=0

gobot ★★★★
() автор топика
Ответ на: комментарий от r--r--r--

А я тебе скажу почему так

Если хром запускаешь с этой опцией, то длинна пакета TLSv1.2 Client Hello 251. Если без этой опции, то длинна TLSv1.2 Client Hello уже 1870

Так же и curl и прочее: у них длинна не превышает 500. Поэтому и работают

В TLSv1.3 даже при 1870 сайт открывается, но в 1.2 - нет.

gobot ★★★★
() автор топика

Если в nginx прописать redirect на другой домен, то работает. Но соединение уже TLSv1.3. Откуда хром заранее узнает что будет редирект и использует 1.3, вместо 1.2, если без редиректа?

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

Хостинг зарубежный?

Проверял РКН - блокировок нет

как вы можете проверять это? РКН давно не использует эти публичные списки. Сейчас РКН под указкой 70 летнего чекиста блокирует массово и незаконно бОльшую часть зарубежных хостинг провайдеров и CDN сервисов замедляя их.

https://habr.com/ru/articles/997088/

https://github.com/Runnin4ik/dpi-detector (это можете ради любопытства прогнать у себя дома на компе…удивитесь

Semel
()
Последнее исправление: Semel (всего исправлений: 2)
Ответ на: комментарий от Semel

да какой зарубежный господи, наш хостинг

никаких цдн не использую, только на CF NS хостится и все. Но я пробовал в hosts прописывать - толку нет

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

Выскажу предположение, что и снифер, и чувак посередине используют одну и ту же определялку версии TLS. Один дурит тебе голову, а второй дурит голову себе и твоему нжынсу, не отдавая ему кусок фрагментированного привета.

Если ты расковыряешь пакеты с ClientHello, там будет везде 1.3, я гарантирую это.

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

Ее WireShark так определяет

Вот я об этом и говорю. Если узнаешь, почему он ее так определяет - дай знать. А пока загляни там в этом жирном пакете в список расширений TLS, там должно быть что-то типа «совместимые версии».

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

мне кажется,что если вы выложите полный конфиг nginx,логи nginx когда клиент пытается открыть страницу и,может еще что (пусть ребята посоветуют что именно), то больше намного вероятность,что вам помогут разобраться..

естественно замените личные данные..

Semel
()
Ответ на: комментарий от thesis

Если уж углубляться во всю эту муть, то там заголовки идут, первый который указывает версию он устарел, второй заголовок который тоже указывает версию deprecated(он всегда 1.2(0x0303))

This legacy_version field MUST be ignored. The supported_versions extension is present and MUST be used instead


Далее WireShark нам подсказывает куда смотреть

Extension: supported_versions (len=7) TLS 1.3, TLS 1.2

Откуда берет версию - точно не совсем понятно. Вроде как клиент в рукопожатии только заявляет версии, а сервер устанавливает уже точно какую будут использовать

Да, спасибо за наводку, не все так однозначно

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

Ну вообще я angie использую, да обычный конфиг господи, ничего там такого нет, я делал по разному и упрощал и всяко. Но редирект работает. Херня короче какая-то

gobot ★★★★
() автор топика