Я настраиваю SSL для Apache 2
. Моя система есть Ubuntu Server 10.04 LTS
. У меня есть следующие настройки, связанные с SSL в моей конфигурации vhost:
SSLEngine On
SSLCertificateKeyFile /etc/ssl/private/server.insecure.key
SSLCertificateFile /etc/ssl/certs/portal.selfsigned.crt
(Примечание: я использую .insecure
для файла ключа, потому что файл не защищен парольной фразой, и мне нравится ясно видеть, что это небезопасный файл ключа)
Итак, когда я перезапускаю Apache, я получаю следующее сообщение:
Syntax error on line 39 of /etc/apache2/sites-enabled/500-portal-https:
SSLCertificateKeyFile: file '/etc/ssl/private/server.insecure.key' does not exist or is empty
Error in syntax. Not restarting.
Но файл есть и не пустой (на самом деле он содержит закрытый ключ):
sudo ls -l /etc/ssl/private/server.insecure.key
-rw-r----- 1 root www-data 887 2012-08-07 15:14 /etc/ssl/private/server.insecure.key
sudo ls -ld /etc/ssl/private/
drwx--x--- 2 root www-data 4096 2012-08-07 13:02 /etc/ssl/private/
Я попытался изменить владельца, используя две группы www-data и ssl-cert. Я не уверен, что является правильным в Ubuntu: по умолчанию Ubuntu использует ssl-cert, но с другой стороны процессы apache запускаются с пользовательскими www-данными: он запускается пользователем root, но в некоторых случаях изменяется на www-data точка, и я не уверен, когда сертификаты читаются.
Но в любом случае смена владельца группы не улучшила ситуацию. Мои вопросы:
- Что еще я мог попытаться заставить это работать?
- Как я могу проверить, что мой ключевой файл является допустимым?
- Как я могу проверить, что ключевой файл и сертификат (
/etc/ssl/certs/portal.selfsigned.crt
) работают вместе?
Я думаю, что Apache вводит в заблуждение сообщение об ошибке, и я хотел бы точно определить ошибку.
service apache2 restart
вместо **sudo** service apache2 restart
... примечание к себе:sudo make me a sandwich fool