-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LibreSSL и 1.6.0 #89
Comments
Добрый день. Скорее всего вы собрались с LibreSSl в рамках режима совместимости, который имеет ряд ограничений - не работает 0RTT, также возможны неудачные хендшейки с такой ошибкой: SSL_do_handshake() failed (SSL: error:10000132:SSL routines:OPENSSL_internal:UNEXPECTED_COMPATIBILITY_MODE), если клиент и сервер собраны с разными библиотеками. BoringSSL и QuicTLS рекомендуются, т.к. предоставляют QUIC API. Обычный OpenSSL (и LibreSSL) также могут использоваться, но см. выше. Если в LibreSSL добавили в каком-то виде поддержку BoringSSL-style QUIC API, то должно работать. В целом мы не проводили тестирование LibreSSL, поэтому не можем рассказать деталей. Если не трудно, расскажитье, почему и на какой платформе вы используете LibreSSL. |
Здравствуйте. Я посмотрел - LibreSSL implements the BoringSSL QUIC API. То есть это там есть уже с 2022 года, но детально не изучал тоже этот вопрос. Почему решили использовать Angie: Платформа Debian 9/10/11/12 amd64 (под 9-ку я тоже смог собрать angie, правда без молотка не обошлось)
Кстати, было бы не плохо иметь поддержку этих модулей у Вас прямо из коробки в будущем. Если нужна какая-то дополнительная информация по сборке этих модулей(там к ним еще отдельно библиотеки надо собирать в своих отдельных deb пакетах), то я могу ответить на ваши вопросы.
Кстати ваша функция enable=on/off у acme очень будет даже удобна я думаю. У меня есть несколько серверов в кластере, поэтому теоретически можно одному angie поручить выписку, а другим angie отключить, но оставить настройки. Если я правильно понимаю, то к примеру если есть 4 Angie на 4-х серверах, у них общая файловая система, и если 1-ый будет выписывать сертификаты, то у меня все-таки вопрос - подхватят ли и применят ли новые файлы с сертификатами и ключами с общей папки в ФС автоматически остальные 3 запущенных Angie, когда в общей папке заменятся файлы с сертификатами и ключами после выписки? Или же другим 3-м Angie придется делать полный перезапуск? Если это вдруг не предусмотрено, было бы здорово, чтобы angie использовал inotify (IN_CLOSE_WRITE например) и мониторил каталог с сертификатами и ключами на изменения, как только файлик заменится, angie бы сам перечитывал и применял новые сертификаты и ключи без перезапуска, конечно с задержкой, так как сначала появится ключ, а потом только сертификат, то есть нужна сверка, что ключ и сертификат подходят друг к другу(но это уже детали). Что касается LibreSSL - вот часть информации из сборки:
|
@asyslinux нет, автоматически он не подхватит новые сертификаты с диска без хотя бы релоада конфигурации. К сожалению, в nginx и в Angie, как следствие, в принципе нет поддержки механима inotify и его добавление - это отдельная большая работа. |
Спасибо за ответ. Это вообще мелочи на самом деле, решается внешним сервисом типа incron - просто мониторить им только файлы сертификатов, так как они появляются после ключей, и посылать команду на reload в Angie. |
Да, действительно они уже некоторое время как добавили поддержку BoringSSL Quic API [1] [1] https://undeadly.org/cgi?action=article;sid=20221006105921 |
Спасибо, обязательно сообщу, у меня есть на чём проверить - web сайт с трафиком в 75-100 миллионов визитов в месяц, на нём точно быстро увидим, если что-то не так. В том числе сообщу если все будет отлично. |
Здравствуйте. Платформа Debian 12 (На других не проверял, но скорее всего все тоже самое будет) / Angie 1.6.0 С LibreSSL обнаружилась такая проблема: Если подключить модуль
Далее я попробовал собрать с BoringSSL, и у меня это никак не получается, ./configure не находит в упор BoringSSL:
Собственно как собиралось с нуля:
Подскажите пожалуйста в чем дело, так как LibreSSL аналогично собирается. Спасибо. |
А модуль вы также сами собирали с LibreSSL? |
Эмм, я использовал просто debian/rules и прописал там только вот это:
Этого недостаточно? |
BoringSSL с некоторых пор требует наличия C++ рантайма. |
Подозреваю, что и сам lua должен быть в этом случае собран с LibreSSL... вряд ли при сборке модуля собирается вся цепочка. |
Если просто добавить -lstdc++ без указания --with-cc - то снова OpenSSL not found будет в ./configure Компилятор Clang:
./configure подцепил BoringSSL, но с ним уже не собирается например:
Компилятор G++:
./configure подцепил BoringSSL, но с ним уже не собирается например:
|
Попробую дальше QuicTLS еще, а потом буду разбираться с LibreSSL + Lua |
QuicTLS (3.1.5) - всё собралось без проблем и без указания --with-cc= на всех Debian 9/10/11/12 P.S. В сборке под Debian 9 отключены некоторые модули, они в нем просто не собираются.
Мало того, с Lua нет проблем сразу.
|
C LibreSSL заставить работать lua пока не получилось. В LibreSSL вообще нет изначально Модуль lua версии 0.10.26 внутри себя имеет обработку:
И в норме должно все бы работать, кроме некоторых функций типа |
@VBart - авторы lua модуля скоро исправят проблему. openresty/lua-nginx-module#2327 У меня все собирается и работает теперь и с LibreSSL (конечно без SSL Client Hello функций в lua модуле). |
Спасибо. Скоро обновим документацию. |
Здравствуйте. На сайте https://angie.software/installation/sourcebuild/ я видел, что для поддержки HTTP3 упоминаются BoringSSL и QuicTLS, сегодня я собрал Angie с LibreSSL - всё собралось без ошибок, вроде всё работает.
Могут ли быть навскидку какие-то подводные камни при использовании HTTP3 в Angie с LibreSSL?
Спасибо.
The text was updated successfully, but these errors were encountered: