Конфигурация виртуального хоста Cloudflare DNS Apache2 с использованием Certbot от Let’s Encrypt

Вопрос или проблема

Я использую 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 включает следующие ключевые моменты:

  1. ServerName: указан верно как test.staging.mysite.com.

  2. ProxyPass: перенаправляет запросы на локальный адрес 127.0.0.1:3400, что позволяет проксировать заявки. Эта часть настроена правильно.

  3. SSL сертификаты: используете файлы, сгенерированные Certbot, включая fullchain.pem и privkey.pem.

  4. Протоколы и шифры: вы указали SSLProtocol -all +TLSv1.2 +TLSv1.3 и SSLCipherSuite HIGH:!aNULL:!MD5:!3DES. Эти настройки могут быть причиной проблемы, так как ограничивают протоколы и шифры.

Решение

Для устранения проблемы и обеспечения совместимости предлагаем следующие шаги:

  1. Проверка сертификатов: убедитесь, что сертификаты корректно сгенерированы и действительны. Вы можете повторно выпустить сертификат с помощью Certbot, если есть подозрения на его некорректность:

    sudo certbot renew
  2. Параметры SSL:
    Ваша конфигурация протоколов и шифров может быть слишком ограничительной. Обновите конфигурационные строки следующим образом:

    SSLProtocol all -SSLv3
    SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256
    SSLHonorCipherOrder on

    Эти изменения увеличат количество совместимых шифров и протоколов.

  3. Настройка на стороне Cloudflare:
    Войдите в консоль управления Cloudflare и проверьте настройки SSL. Убедитесь, что уровень шифрования установлен на "Full" или "Full (strict)" для обеспечения поддержания безопасных соединений.

  4. Журнал ошибок: Проверьте логи, расположенные в ${APACHE_LOG_DIR}/test.staging.mysite.com-error.log, чтобы выявить дополнительные ошибки или предупреждения, которые могут помочь диагностировать проблему более точно.

  5. Тестирование: После внесения изменений в конфигурацию перезагрузите Apache и протестируйте соединение:

    sudo systemctl restart apache2

Заключение

Если вы следуете приведённым выше рекомендациям, проблема должна быть решена. Важно тестировать изменения в разных браузерах, чтобы убедиться в универсальной совместимости. Если у вас возникают дополнительные вопросы, обратите внимание на официальный форум поддержки Apache и Certbot, где можно получить дополнительную помощь и советы.

Оцените материал
Добавить комментарий

Капча загружается...