Перейти к содержанию
  • Лента
  • Категории
  • Последние
  • Метки
  • Популярные
  • Пользователи
  • Группы
Свернуть
exlends
Категории
  1. Главная
  2. Категории
  3. Бекенд, разработка серверов
  4. SSL Handshake Timeout в Nginx - перестали открываться сайты

SSL Handshake Timeout в Nginx - перестали открываться сайты

Запланировано Прикреплена Закрыта Перенесена Бекенд, разработка серверов
1 Сообщения 1 Постеры 55 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • kirilljsxK Не в сети
    kirilljsxK Не в сети
    kirilljsx
    js
    написал отредактировано kirilljsx
    #1

    Если долго мучиться то что ни будь получится.

    Заменил на большинства своих проектах так и на проектах коллег что перестали открываться с мобильных устройства и иногда даже и с ПК многие сайты.

    Начал проверять и копаться, долго не мог понять в чем проблема, и тут решил проверить ssl в самом nginx (спройлер - проблема не в нем).

    Копался значит по конфигам, читал статьи, писал хост-провайдерам, но никто не давал внятного ответа.

    Также начал проверять панель разработчика в браузере и увидел вот что Unsafe attempt to load URL и Failed to fetch от service worker - и тут то меня осенила что проблема точно в ssl/tls рукопожатии у сервера.

    Как я начал диагностику:

    1. Сперва проверил отвечает ли сервер вообщ:
    curl -I https://site.ru/
    dig yourdomain.ru +short
    
    1. Пошел проверять версии TLS-протоколов:
    openssl s_client -connect site.ru:443 -tls1_3
    openssl s_client -connect site.ru:443 -tls1_2
    
    1. Проверил ресурсы сервера - память и swap:
    free -h
    

    Кстати если swap активно используется при малом объеме озушки - задержки TLS handshake могут быть тоже из-за этого.


    Главная причина

    А главная причина то как раз и была в override в options-ssl-nginx.conf

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

    В файле options-ssl-nginx.conf есть такая вот строка прописанная по умолчанию:

    ssl_protocols TLSv1.2 TLSv1.3;
    

    Хватит лирики, переходим к тому как все это дело исправить:

    1. Переходим в редактор файла options-ssl-nginx.conf:
    sudo nano /etc/letsencrypt/options-ssl-nginx.conf
    
    1. Заменяем строку, а точнее удаляем TLSv1.3:
    ssl_protocols TLSv1.2 TLSv1.3;
    
    1. Проверяем и перезапускаем nginx:
    sudo nginx -t && sudo systemctl reload nginx
    
    1. Проверяем результат:
    openssl s_client -connect site.ru:443 -tls1_3
    

    У нас должна при проверке выскочить ошибка - tlsv1 alert protocol versio что как бы говорит что не предлагает клиенту больше TLS 1.3

    На скрине ниже сам файл options-ssl-nginx.conf
    50332eb8-78c5-43fe-ad9c-9b5d46fae477-image.jpeg

    Смотрите, вообще полное отключение TLS 1.3 - это я бы сказал диагностический шаг не более и не конечное решение!

    Потому что мозила и прочие ssl конфигураторы рекомендуют держать как TLS 1.2 так и TLS 1.3 потому что 1.3 быстрее и безопаснее, а 1.2 обеспечивает работу со старыми клиентами.

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

    Но лично мое мнение - это все 3.14дорасы западные 🤡 вставляют нам палки в колеса, ничего будем бороться - хер вам на рыло соеденительные штаты омерики.

    Всем добра и позитива 😊 !

    1 ответ Последний ответ
    0

    Здравствуйте! Похоже, вас заинтересовала эта беседа, но у вас ещё нет аккаунта.

    Надоело каждый раз пролистывать одни и те же посты? Зарегистрировав аккаунт, вы всегда будете возвращаться на ту же страницу, где были раньше, и сможете выбирать, получать ли уведомления о новых ответах (по электронной почте или в виде push-уведомлений). Вы также сможете сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.

    С вашими комментариями этот пост мог бы стать ещё лучше 💗

    Зарегистрироваться Войти

    Категории

    • Главная
    • Новости
    • Фронтенд
    • Бекенд
    • Языки программирования

    Контакты

    • Сотрудничество
    • info@exlends.com

    © 2024 - 2026 ExLends, Inc. Все права защищены.

    Политика конфиденциальности
    • Войти

    • Нет учётной записи? Зарегистрироваться

    • Войдите или зарегистрируйтесь для поиска.
    • Первое сообщение
      Последнее сообщение
    0
    • Лента
    • Категории
    • Последние
    • Метки
    • Популярные
    • Пользователи
    • Группы