Назад | Перейти на главную страницу

EC2 - служба httpd не работает с 443 хостами после установки mod_ssl

У меня проблемы с настройкой mod_ssl на инстансе AWS EC2

Похоже, я в какой-то момент не могу запустить службу httpd через sudo service httpd restart так как я установил mod24_ssl. У меня нет синтаксических ошибок, просто FAILED ответ, когда я пытаюсь перезапустить httpd:

[ec2]$ sudo service httpd restart
Stopping httpd:    [FAILED]
Starting httpd:    [FAILED]

И я заметил, что когда я удаляю конфигурации с 443 vhosts в моем кастоме .conf файл и в ssl.conf файл все работает нормально

Я уже подтвердил, что у меня есть localhost.crt и localhost.key которые указаны по умолчанию в ssl.conf

Прежде чем я установил mod24_ssl пакет, эти vhosts работали нормально, я получал только такие ошибки, как «SSL получил запись, длина которой превышает максимально допустимую», что можно исправить, установив mod_ssl в соответствии с несколькими темами, которые я нашел

Я пытаюсь иметь рабочую конфигурацию SSL, чтобы иметь доступ к локальным адресам через https, не имеет значения, действительно ли она работает с хорошо подписанными сертификатами.

Я наконец решил свою проблему!

Спасибо за сообщение об ошибке журнала, я нашел решение для создания действительного сертификата с помощью этой команды:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/localhost.key -out /etc/ssl/certs/localhost.crt

Первоначально я следил за этой статьей, чтобы настроить SSL на моем экземпляре EC2: https://docs.aws.amazon.com/fr_fr/AWSEC2/latest/UserGuide/SSL-on-amazon-linux-2.html

В этой статье шаг по созданию сертификата говорит об использовании следующих команд:

cd /etc/pki/tls/certs
sudo make-dummy-cert localhost.crt

Но вроде не работает (больше по крайней мере)

Еще раз спасибо за вашу помощь, вчера я был так расстроен, что совершенно забыл просто просмотреть журналы ...

Я только что нашел другой файл журнала, который, по-видимому, предоставляет больше информации:

[Wed Jun 12 08:31:42.263711 2019] [ssl:emerg] [pid 16968] AH02565: Certificate and private key ip-xx-xx-xx-xx.eu-west-3.compute.internal:443:0 from /etc/pki/tls/certs/localhost.crt and /etc/pki/tls/private/localhost.key do not match

По запросу, вот мои файлы conf для apache:

/etc/httpd/conf/httpd.conf (автоматически создается сервисами AWS)

ServerRoot "/etc/httpd"

Listen 80

Include conf.modules.d/*.conf

User apache
Group apache

ServerAdmin root@localhost

<Directory />
    AllowOverride none
    Require all denied
</Directory>

DocumentRoot "/var/www/html"

<Directory "/var/www">
    AllowOverride None
    Require all granted
</Directory>

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

<Files ".ht*">
    Require all denied
</Files>

ErrorLog "logs/error_log"

LogLevel warn

<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>

    CustomLog "logs/access_log" combined
</IfModule>

<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
</IfModule>

<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

<IfModule mime_module>
    TypesConfig /etc/mime.types

    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz

    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>

AddDefaultCharset UTF-8

<IfModule mime_magic_module>
    MIMEMagicFile conf/magic
</IfModule>

EnableSendfile on

IncludeOptional conf.d/*.conf

/etc/httpd/conf.modules.d/00-ssl.conf (создается путем установки mod24_ssl пакет)

LoadModule ssl_module modules/mod_ssl.so

/etc/httpd/conf.d/ssl.conf (создается путем установки mod24_ssl пакет)

Listen 443 https

SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog

SSLSessionCache         shmcb:/run/httpd/sslcache(512000)
SSLSessionCacheTimeout  300

SSLRandomSeed startup file:/dev/urandom  256
SSLRandomSeed connect builtin
#SSLRandomSeed startup file:/dev/random  512
#SSLRandomSeed connect file:/dev/random  512
#SSLRandomSeed connect file:/dev/urandom 512

SSLCryptoDevice builtin
#SSLCryptoDevice ubsec

<VirtualHost _default_:443>

    ErrorLog logs/ssl_error_log
    TransferLog logs/ssl_access_log
    LogLevel warn

    SSLEngine on
    SSLProtocol all -SSLv3
    SSLProxyProtocol all -SSLv3
    SSLHonorCipherOrder on
    #SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
    #SSLProxyCipherSuite HIGH:MEDIUM:!aNULL:!MD5
    SSLCertificateFile /etc/pki/tls/certs/localhost.crt
    SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    #SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt
    #SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt
    #SSLVerifyClient require
    #SSLVerifyDepth  10
    #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory "/var/www/cgi-bin">
        SSLOptions +StdEnvVars
    </Directory>

    BrowserMatch "MSIE [2-5]" \
             nokeepalive ssl-unclean-shutdown \
             downgrade-1.0 force-response-1.0

    CustomLog logs/ssl_request_log \
              "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>

С этим конф httpd служба не запускается, но если я удалю <VirtualHost _default_:443> часть, начинается отлично.


И, наконец, я посмотрел свой файл журнала /var/log/httpd/error_log и единственное, что появляется, когда я пытаюсь запустить httpd услуга:

AH00016: Configuration Failed

Без дополнительной информации

Спасибо за вашу помощь!