Вопрос или проблема
Я использую Ubuntu VM с apache2
У меня есть этот DNS с использованием Cloudflare:
test.staging.mysite.com
Я использую Certbot letsencrypt для SSL
По какой-то причине я получаю эту ошибку при доступе к DNS через браузер после успешной конфигурации:
Ошибка безопасного соединения
Произошла ошибка при подключении к test.staging.mysite.com.
Невозможно безопасно общаться с узлом: отсутствуют общие алгоритмы шифрования.
Код ошибки: SSL_ERROR_NO_CYPHER_OVERLAP
Страница, которую вы пытаетесь просмотреть, не может быть показана, так как
аутентичность полученных данных не может быть подтверждена.
Пожалуйста, свяжитесь с владельцами сайта, чтобы сообщить им об этой проблеме.
вот мой файл конфигурации:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName test.staging.mysite.com
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:3400/
ProxyPassReverse / http://127.0.0.1:3400/
ErrorLog ${APACHE_LOG_DIR}/test.staging.mysite.com-error.log
CustomLog ${APACHE_LOG_DIR}/test.staging.mysite.com-access.log combined
SSLCertificateFile /etc/letsencrypt/live/test.staging.mysite.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/test.staging.mysite.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLCipherSuite HIGH:!aNULL:!MD5:!3DES
SSLHonorCipherOrder on
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
</VirtualHost>
</IfModule>
Ответ или решение
Конфигурация виртуального хоста Apache2 с использованием Cloudflare DNS и Certbot Let’s Encrypt на Ubuntu
Вы задали отличный вопрос о проблемах с конфигурацией виртуального хоста Apache2, использующей Cloudflare DNS и Certbot Let’s Encrypt на виртуальной машине под управлением Ubuntu. Ошибка, о которой вы упомянули, SSL_ERROR_NO_CYPHER_OVERLAP, указывает на проблемы с настройками протоколов и шифров. Рассмотрим эту ситуацию подробнее и предложим решение.
Проблема
Ошибка "SSL_ERROR_NO_CYPHER_OVERLAP" обычно означает, что клиентский браузер и сервер не могут договориться о совместно поддерживаемом алгоритме шифрования. Это может быть связано с настройками, которые блокируют использование определённых алгоритмов или протоколов.
Текущее состояние конфигурации
Ваш текущий файл конфигурации виртуального хоста Apache включает следующие ключевые моменты:
-
ServerName: указан верно как
test.staging.mysite.com
. -
ProxyPass: перенаправляет запросы на локальный адрес
127.0.0.1:3400
, что позволяет проксировать заявки. Эта часть настроена правильно. -
SSL сертификаты: используете файлы, сгенерированные Certbot, включая
fullchain.pem
иprivkey.pem
. -
Протоколы и шифры: вы указали
SSLProtocol -all +TLSv1.2 +TLSv1.3
иSSLCipherSuite HIGH:!aNULL:!MD5:!3DES
. Эти настройки могут быть причиной проблемы, так как ограничивают протоколы и шифры.
Решение
Для устранения проблемы и обеспечения совместимости предлагаем следующие шаги:
-
Проверка сертификатов: убедитесь, что сертификаты корректно сгенерированы и действительны. Вы можете повторно выпустить сертификат с помощью Certbot, если есть подозрения на его некорректность:
sudo certbot renew
-
Параметры SSL:
Ваша конфигурация протоколов и шифров может быть слишком ограничительной. Обновите конфигурационные строки следующим образом:SSLProtocol all -SSLv3 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256 SSLHonorCipherOrder on
Эти изменения увеличат количество совместимых шифров и протоколов.
-
Настройка на стороне Cloudflare:
Войдите в консоль управления Cloudflare и проверьте настройки SSL. Убедитесь, что уровень шифрования установлен на "Full" или "Full (strict)" для обеспечения поддержания безопасных соединений. -
Журнал ошибок: Проверьте логи, расположенные в
${APACHE_LOG_DIR}/test.staging.mysite.com-error.log
, чтобы выявить дополнительные ошибки или предупреждения, которые могут помочь диагностировать проблему более точно. -
Тестирование: После внесения изменений в конфигурацию перезагрузите Apache и протестируйте соединение:
sudo systemctl restart apache2
Заключение
Если вы следуете приведённым выше рекомендациям, проблема должна быть решена. Важно тестировать изменения в разных браузерах, чтобы убедиться в универсальной совместимости. Если у вас возникают дополнительные вопросы, обратите внимание на официальный форум поддержки Apache и Certbot, где можно получить дополнительную помощь и советы.