私は Linux の初心者で、Go Daddy から SSL を設定しようとしています。証明書を取得するために Go Daddy に送信するキーを生成する方法についての指示に従いました。以下は私が従ったガイドです: http://support.godaddy.com/help/article/5269/generating-a-certificate-signing-request-csr-apache-2x?pc_split_value=1
パスワードについては、プロンプトで Enter キーを押し、パスワードを指定しませんでした。証明書が発行され、apache2 サーバーに仮想ホストが設定されました。apache で modSSL を有効にしました。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
私は Apache で SSL を使用するのが初めてなので、どんな助けでも大歓迎です。私は Google でかなり検索し、できる限りのことをしようとしましたが、経験豊富な専門家が初心者の間違いに気付いてくれることを期待しています。
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
は、キーが というファイルにあることを示します。これは、Apache 構成の オプションyourdomain.key
に指定する必要があるものです。SSLCertificateKeyFile