У меня есть сервер Apache, настроенный на CentOS. Я пытаюсь добавить SSL. Мне удалось создать сертификат и ключи, а затем обновить /etc/httpd/conf.d/ssl.conf
иметь следующие конфигурации:
/etc/httpd/conf.d/ssl.conf
#Where I put my cert
SSLCertificateFile /etc/pki/tls/certs/ca.crt
#where I put my key
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
Потом обновил /etc/httpd/conf/httpd.conf
:
/etc/httpd/conf/httpd.conf
Listen 443
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
Затем я побежал service httpd restart
и я получаю сообщение об ошибке:
Stopping httpd: [OK]
Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:443
[OK]
Что мне нужно сделать, чтобы включить SSL?
По умолчанию в CentOS используется файл Apache / httpd, расположенный по адресу /etc/httpd/conf.d/ssl.conf
. Этот файл считывается Apache как конфигурация вместе с файлом «httpd.conf», и все в нем имеет приоритет над настройками в httpd.conf
.
Этот файл (опять же по умолчанию) содержит Listen 443
директива. Вы не можете вызвать эту директиву дважды (поскольку она скажет, что она уже привязана к этому порту), поэтому это вызвало конфликт. После удаления все работает.
Если кто-нибудь в 2017 году наткнется на этот вопрос ...
Нет необходимости редактировать httpd.conf
поскольку ssl.conf
содержит все необходимые нам директивы:
# When we also provide SSL we have to listen to the
# the HTTPS port in addition.
#
Listen 443 https
...
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
И, конечно, пути к сертификатам:
SSLCertificateFile /etc/pki/tls/certs/<mycert>.crt
SSLCertificateKeyFile /etc/pki/tls/private/<mykey>.key
Другими словами, достаточно добавить информацию в ssl.conf
и перезапустите httpd
служба. Конечно, это работает, только если эта (последняя) строка:
# Load config files in the "/etc/httpd/conf.d" directory, if any.
IncludeOptional conf.d/*.conf
... раскомментирован, как указано выше в файле httpd.conf
, который находится в установке по умолчанию.
Системная информация:
cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.3 (Maipo)