Ошибка при настройке Go Daddy SSL в Ubuntu Apache2
Я довольно новичок в Linux и пытаюсь настроить SSL от Go Daddy. Я следовал инструкциям о том, как сгенерировать ключ для отправки в Go Daddy для получения сертификата. Вот руководство, которому я следовал: http://support.godaddy.com/help/article/5269/generating-a-certificate-signing-request-csr-apache-2x?pc_split_value=1
Для пароля я просто нажал Enter в командной строке и не указал пароль. Они выдали сертификат, и я установил виртуальный хост на моем сервере apache2. Я включил modSSL с Apache. Это журнал, который я получаю при перезапуске apache:
[Fri Aug 24 02:32:37 2012] [notice] Apache/2.2.17 (Ubuntu) PHP/5.3.5-1ubuntu7.10 with Suhosin-Patch mod_ssl/2.2.17 OpenSSL/0.9.8o configured -- resuming normal operations
Я устанавливаю следующую информацию о виртуальном хосте (личные данные для безопасности опущены):
<VirtualHost IP_ADDRESS_HERE:443>
ServerAdmin MY_EMAIL
ServerName WWW_SERVER_NAME_COM
DocumentRoot PATH_TO_HTDOCS
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
ErrorLog PATH_TO_LOGS/error.log
CustomLog PATH_TO_LOGS/access.log combined
SSLEngine on
SSLCertificateFile PATH_TO_SSL/MY_SITE_NAME.com.crt
SSLCertificateKeyFile PATH_TO_SSL/MY_SITE_NAME.csr
SSLCertificateChainFile PATH_TO_SSL/gd_bundle.crt
</VirtualHost>
Когда я иду, чтобы перезапустить Apache после того, как я добавил эти данные на свой виртуальный хост, я получаю следующее сообщение об ошибке в моем журнале ошибок:
[Fri Aug 24 02:23:55 2012] [error] Init: Private key not found
[Fri Aug 24 02:23:55 2012] [error] SSL Library Error: 218710120 error:0D094068:asn1 encoding routines:d2i_ASN1_SET:bad tag
[Fri Aug 24 02:23:55 2012] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Fri Aug 24 02:23:55 2012] [error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error
[Fri Aug 24 02:23:55 2012] [error] SSL Library Error: 218734605 error:0D09A00D:asn1 encoding routines:d2i_PrivateKey:ASN1 lib
[Fri Aug 24 02:28:02 2012] [error] Init: Private key not found
[Fri Aug 24 02:28:02 2012] [error] SSL Library Error: 218710120 error:0D094068:asn1 encoding routines:d2i_ASN1_SET:bad tag
[Fri Aug 24 02:28:02 2012] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Fri Aug 24 02:28:02 2012] [error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error
[Fri Aug 24 02:28:02 2012] [error] SSL Library Error: 218734605 error:0D09A00D:asn1 encoding routines:d2i_PrivateKey:ASN1 lib
Я новичок в использовании SSL с Apache, поэтому любая помощь будет принята с благодарностью. Я сделал большую часть Googling и попытался следовать тому, что там было лучше, чем мог, но я надеюсь, что опытный эксперт может обнаружить ошибку новичка.
Если я удалю информацию SSL, я смогу просмотреть сайт с MY_SITE:443, чтобы порт был открыт, а apache прослушивал / обслуживал.
1 ответ
Вы не установили свой закрытый ключ. Это...
SSLCertificateKeyFile PATH_TO_SSL/MY_SITE_NAME.csr
... указывает на ваш запрос на подпись сертификата (CSR), который по сути является "предварительным сертификатом", подписанным с помощью вашего закрытого ключа. Вы отправляете это провайдеру SSL, и они подписывают его своим закрытым ключом, и теперь у вас есть сертификат.
Вы сгенерировали свой закрытый ключ при запуске этой команды:
openssl req -new -newkey rsa:2048 -nodes \
-keyout yourdomain.key -out yourdomain.csr
-keyout
опция указывает, что ваш ключ находится в файле с именем yourdomain.key
, Это то, что должно быть предоставлено SSLCertificateKeyFile
вариант в вашей конфигурации Apache.