Вопрос или проблема
Я запускаю nginx на Raspberry Pi, который имеет зарезервированный и выделенный LAN-адрес 192.168.2.10 на роутере 192.168.2.1. Когда я ввожу http://192.168.2.10
в Firefox, я получаю сбой рукопожатия SSL в /var/log/nginx/error.log
:
2024/10/21 16:06:17 [crit] 29586#29586: *370 SSL_do_handshake() не удалось (SSL: ошибка:141CF06C:SSL процедуры:tls_parse_ctos_key_share:неверная ключевая доля) во время рукопожатия SSL, клиент: 51.159.14.99, сервер: 0.0.0.0:443
2024/10/21 16:06:20 [crit] 29586#29586: *391 SSL_do_handshake() не удалось (SSL: ошибка:141CF06C:SSL процедуры:tls_parse_ctos_key_share:неверная ключевая доля) во время рукопожатия SSL, клиент: 51.159.111.112, сервер: 0.0.0.0:443
2024/10/21 16:22:10 [crit] 29586#29586: *415 SSL_do_handshake() не удалось (SSL: ошибка:141CF06C:SSL процедуры:tls_parse_ctos_key_share:неверная ключевая доля) во время рукопожатия SSL, клиент: 34.96.46.130, сервер: 0.0.0.0:443
2024/10/21 16:24:05 [crit] 30283#30283: *12 SSL_do_handshake() не удалось (SSL: ошибка:141CF06C:SSL процедуры:tls_parse_ctos_key_share:неверная ключевая доля) во время рукопожатия SSL, клиент: 34.96.46.24, сервер: 0.0.0.0:443
Есть идеи, пожалуйста?
Ответ или решение
Как решить проблему с SSL в nginx: опыт на Raspberry PI
Если вы сталкиваетесь с ошибками SSL в nginx на вашем Raspberry PI, это может значительно повлиять на работу ваших веб-приложений. В вашем случае ошибка SSL_do_handshake() failed (SSL: error:141CF06C:SSL routines:tls_parse_ctos_key_share:bad key share)
указывает на проблемы при установлении соединения через SSL. В данной статье мы подробно рассмотрим шаги по устранению этой проблемы, основываясь на вашем описании.
Шаг 1: Анализ конфигурации nginx
Прежде всего, необходимо обратить внимание на файл конфигурации nginx. Убедитесь, что вы правильно настроили параметры SSL. Ваш конфигурационный файл обычно находится в /etc/nginx/sites-available/default
или в подобной директории. Откройте его с помощью текстового редактора, например:
sudo nano /etc/nginx/sites-available/default
Основные параметры, на которые стоит обратить внимание:
-
ssl_certificate – путь к вашему SSL-сертификату.
-
ssl_certificate_key – путь к вашему приватному ключу SSL.
-
ssl_protocols – убедитесь, что протоколы TLS, которые вы используете, совместимы с клиентскими системами. Например:
ssl_protocols TLSv1.2 TLSv1.3;
-
ssl_ciphers – используемые шифры должны поддерживаться клиентом. Например:
ssl_ciphers 'HIGH:!aNULL:!MD5';
Шаг 2: Проверка сертификата и ключа
Проверьте правильность сертификата и приватного ключа:
-
Убедитесь, что SSL-сертификат не просрочен и настроен правильно.
-
Протестируйте сертификат с помощью команды:
openssl x509 -in /path/to/your/certificate.crt -text -noout
-
Проверьте соответствие сертификата и ключа:
openssl rsa -in /path/to/your/private.key -check
-
Убедитесь, что оба файла (сертификат и ключ) принадлежат правильному пользователю и имеют корректные права доступа (обычно
600
).
Шаг 3: Проверка и обновление пакетов
Проблема с SSL также может быть связана с устаревшими библиотеками. Обновите вашу систему и пакеты:
sudo apt update
sudo apt upgrade
Кроме того, следует проверить, установлены ли последние версии пакетов OpenSSL и Nginx.
openssl version
nginx -v
Шаг 4: Перезапуск nginx
После каждого изменения конфигурации и обновления пакетов рекомендуется перезапустить nginx:
sudo systemctl restart nginx
При этом также не забудьте проверить конфигурацию на наличие ошибок:
sudo nginx -t
Шаг 5: Мониторинг логов
Следите за логами ошибок, используя команду:
tail -f /var/log/nginx/error.log
Проверьте, исчезла ли ошибка. Если проблема сохраняется, возможно, стоит проверить конфигурацию сетевого оборудования, включая роутеры и фаерволы, которые могут блокировать или прерывать соединение по протоколу TLS.
Заключение
При решении проблем с SSL в nginx на Raspberry PI важно внимательно проверять конфигурацию, сертификаты, обновления и настройки безопасности. Следуя указанным шагам, вы сможете устранить ошибку SSL и обеспечить корректную работу вашего веб-сервера. Если после выполнения всех действий проблема все еще остается, возможно, стоит обратиться за помощью в специализированные сообщества или к профессиональным системным администраторам.