<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[SSL Handshake Timeout в Nginx - перестали открываться сайты]]></title><description><![CDATA[<p dir="auto">Если долго мучиться то что ни будь получится.</p>
<p dir="auto">Заменил на большинства своих проектах так и на проектах коллег что перестали открываться с мобильных устройства и иногда даже и с ПК многие сайты.</p>
<p dir="auto">Начал проверять и копаться, долго не мог понять в чем проблема, и тут решил проверить <strong>ssl</strong> в самом <strong>nginx</strong> (спройлер - проблема не в нем).</p>
<p dir="auto">Копался значит по конфигам, читал статьи, писал хост-провайдерам, но никто не давал внятного ответа.</p>
<p dir="auto">Также начал проверять панель разработчика в браузере и увидел вот что <code>Unsafe attempt to load URL</code> и <code>Failed to fetch</code> от service worker - и тут то меня осенила что проблема точно в ssl/tls рукопожатии у сервера.</p>
<p dir="auto">Как я начал диагностику:</p>
<ol>
<li>Сперва проверил отвечает ли сервер вообщ:</li>
</ol>
<pre><code class="language-shell">curl -I https://site.ru/
dig yourdomain.ru +short
</code></pre>
<ol start="2">
<li>Пошел проверять версии TLS-протоколов:</li>
</ol>
<pre><code class="language-shell">openssl s_client -connect site.ru:443 -tls1_3
openssl s_client -connect site.ru:443 -tls1_2
</code></pre>
<ol start="3">
<li>Проверил ресурсы сервера - память и swap:</li>
</ol>
<pre><code class="language-shell">free -h
</code></pre>
<blockquote>
<p dir="auto">Кстати если swap активно используется при малом объеме озушки - задержки TLS handshake могут быть тоже из-за этого.</p>
</blockquote>
<hr />
<h2>Главная причина</h2>
<p dir="auto">А главная причина то как раз и была в <code>override</code> в <code>options-ssl-nginx.conf</code></p>
<p dir="auto">Эту херню в свое время настраивается <strong>cerbot</strong> (<em>падла</em>), а как известно сейчас с сертификациями больше проблемы в нашей стране.</p>
<p dir="auto">В файле <code>options-ssl-nginx.conf</code> есть такая вот строка прописанная по умолчанию:</p>
<pre><code class="language-shell">ssl_protocols TLSv1.2 TLSv1.3;
</code></pre>
<p dir="auto">Хватит лирики, переходим к тому как все это дело исправить:</p>
<ol>
<li>Переходим в редактор файла <code>options-ssl-nginx.conf</code>:</li>
</ol>
<pre><code class="language-bash">sudo nano /etc/letsencrypt/options-ssl-nginx.conf
</code></pre>
<ol start="2">
<li>Заменяем строку, а точнее удаляем <code>TLSv1.3</code>:</li>
</ol>
<pre><code class="language-bash">ssl_protocols TLSv1.2 TLSv1.3;
</code></pre>
<ol start="3">
<li>Проверяем и перезапускаем nginx:</li>
</ol>
<pre><code class="language-bash">sudo nginx -t &amp;&amp; sudo systemctl reload nginx
</code></pre>
<ol start="4">
<li>Проверяем результат:</li>
</ol>
<pre><code class="language-bash">openssl s_client -connect site.ru:443 -tls1_3
</code></pre>
<blockquote>
<p dir="auto">У нас должна при проверке выскочить ошибка - <code>tlsv1 alert protocol versio</code> что как бы говорит что не предлагает клиенту больше TLS 1.3</p>
</blockquote>
<p dir="auto">На скрине ниже сам файл <code>options-ssl-nginx.conf</code><br />
<img src="/assets/uploads/files/6d/07/d0/1782890715409-50332eb8-78c5-43fe-ad9c-9b5d46fae477-image.webp" alt="50332eb8-78c5-43fe-ad9c-9b5d46fae477-image.jpeg" class=" img-fluid img-markdown" /></p>
<p dir="auto">Смотрите, вообще полное отключение TLS 1.3 - это я бы сказал диагностический шаг не более и не конечное решение!</p>
<p dir="auto">Потому что мозила и прочие ssl конфигураторы рекомендуют держать как TLS 1.2 так и TLS 1.3 потому что 1.3 быстрее и безопаснее, а 1.2 обеспечивает работу со старыми клиентами.</p>
<p dir="auto">Если после отключение TLS 1.3 проблема пропала - значит корень проблемы то был именно в конфликте протокола, а не в самом TLS 1.3. Вернуть его было бы правильно обратно, но когда уже найдется почему конкретно вызывается таймаут.</p>
<p dir="auto">Но лично мое мнение - это все <strong>3.14дорасы</strong> западные <img src="https://forum.exlends.ru/assets/plugins/nodebb-plugin-emoji/emoji/android/1f921.png?v=a1e94250dac" class="not-responsive emoji emoji-android emoji--clown_face" style="height:23px;width:auto;vertical-align:middle" title=":clown_face:" alt="🤡" />  вставляют нам палки в колеса, ничего будем бороться - хер вам на рыло соеденительные штаты омерики.</p>
<p dir="auto">Всем добра и позитива <img src="https://forum.exlends.ru/assets/plugins/nodebb-plugin-emoji/emoji/android/1f60a.png?v=a1e94250dac" class="not-responsive emoji emoji-android emoji--blush" style="height:23px;width:auto;vertical-align:middle" title=":blush:" alt="😊" /> !</p>
]]></description><link>https://forum.exlends.ru/topic/2264/ssl-handshake-timeout-v-nginx-perestali-otkryvatsya-sajty</link><generator>RSS for Node</generator><lastBuildDate>Mon, 06 Jul 2026 03:09:59 GMT</lastBuildDate><atom:link href="https://forum.exlends.ru/topic/2264.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 01 Jul 2026 07:39:29 GMT</pubDate><ttl>60</ttl></channel></rss>