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

Установка Apache SSL

Я пытаюсь установить сертификат SSL на сервер Linux Apache 2.2.3. Я просматривал онлайн, чтобы увидеть, как установить сертификат, и, как правило, редактирую файл httpd.conf. Однако есть два таких файла, и я не уверен, что редактировать. Вот пути к файлам:

/etc/dirsrv/admin-serv/httpd.conf
/etc/httpd/conf/httpd.conf

Я попытался отредактировать их, добавив дополнительную информацию к виртуальному хосту:
SSLCertificateFile mycert
SSLCertificateKeyFile mykey

Однако, когда я попытался перезапустить Apache, он сказал, что SSLCertificateFile - недопустимая команда.

Примечание: у меня также есть файл nss.conf, который содержит некоторую информацию о виртуальных хостах.

Если он лает, что "SSLCertificateFile" - недопустимая директива, значит, у вас не загружен mod_ssl. Вам нужна строка где-нибудь в вашей конфигурации, которая выглядит примерно так:

LoadModule ssl_module   libexec/apache22/mod_ssl.so

(Эта конкретная строка взята из коробки FreeBSD, поэтому она вряд ли будет работать без незначительных изменений)

Обычно вы должны помещать информацию SSL в директиву vhost; но очень просто site может выглядеть примерно так:

ServerName example.com

Listen 80
Listen 443

LoadModule ssl_module   libexec/apache22/mod_ssl.so
LoadModule the other modules go in here...

User www
Group www

DocumentRoot /path/to/site

SSLCertificateFile /path/to/cert
SSLCertificateKeyFile /path/to/key
SSLCertificateChainFile /path/to/chain

<VirtualHost *:443>
    SSLEngine on
</VirtualHost>

Вот как выглядит конфигурация моего личного сайта (плюс некоторая безопасность, ведение журнала и другой подобный мусор).

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

# a2enmod ssl

Обычно автоматически включает модуль в дистрибутивах на основе Debian.