После обновления сервера Fedora до FC38 сервер Apache httpd больше не поддерживает ключи Lets Encrypt.
В этой среде есть двойники практически всего, включая две системы веб-сервера/брандмауэра/шлюза, и у них была давно устаревшая версия, поэтому я решил перейти сFedora Server 30 to 38
на одном из них.
Мое время было любопытным, потому что в то же самое время, когда я начал обновление, даже не прикасаясь (физически или электронно) к другому серверу, он решил выйти из строя! Итак, теперь у меня есть сценарий «сервер не работает». -фу-
Обновление НЕ включало в себя изменение HTTPD Apache в обработке ключей SSL, я не думаю, потому что обе версии до и после являются подверсиями 2.4 -the older was 2.4.41 and the younger 2.4.57
, которая является самой молодой версией, которая совпадает с Fedora Core 38. (Разумеется, это Fedora Server 38.)
Однако при запуске HTTPD Apache (далее просто httpd) жалуется на строки, относящиеся к ключам шифрования, предоставленным LetsEncrypt.
Конечно, все ключи актуальны, поскольку LetsEncrypt, я думаю, не позволяет вам получать ключи со сроком действия более 3 месяцев.
Ошибки такие, как в этом примере:
May 20 17:09:24 host2 httpd[3180]: AH00526: Syntax error on line 76 of /etc/httpd/conf.d/virtualhosts.conf:
May 20 17:09:24 host2 httpd[3180]: Invalid command 'SSLCertificateFile', perhaps misspelled or defined by a module not included in the server configuration
Однако ОЧЕНЬ простая проверка документации дает эту ссылку, которая предоставляет пример шаблона, который практически идентичен тому, что находится вvirtualhosts.conf
файл - а именно:
LoadModule ssl_module модули/mod_ssl.so
Прослушивание 443<VirtualHost *:443>ServerName www.example.comSSLEngine в SSLCertificateFile "/path/to/www.example.com.cert" SSLCertificateKeyFile "/path/to/www.example.com.key"
Вместо того, чтобы придумать версию моей собственной конфигурации, которая также удаляет точные домены, которые размещает сервер.
Я составил подробный список пакетов, которые БЫЛИ установлены, а затем установлены СЕЙЧАС, и не вижу ничего, кромеmod_http2-1.15.3-2.fc30.x86_64
по старой системе иmod_http2-2.0.11-2.fc38.x86_64
на новом, там установлено около 106 модулей, так что...
Что это дает, учитывая все это внимание к безопасности и шифрованию?
1 ответ
Получается, что глупцы, которые сейчас заправляют всем, все время крича о безопасности, не соизволяют включить модуль; его не только НЕТ вhttpd
пакет программного обеспечения, его нет вmod_http2-2.0.11-2.fc38x86_64
пакет ЛИБО!
Вместо этого вам необходимо:
dnf install mod_ssl
для того, чтобы это получить - и тогда МГНОВЕННО все работает.
Знаете, я думаю, что это ОШИБКА - я рассматриваю это как ошибку упаковки, но это, по крайней мере, ошибка документации, как я на самом деле посмотрел. И нет, зарываться глубоко в документацию – это не нормально! Отсюда и потраченное мной время - надеюсь, это сэкономит кому-нибудь время.