在 Ubuntu Apache2 上設定 GoDaddy SSL 時發生錯誤

在 Ubuntu Apache2 上設定 GoDaddy SSL 時發生錯誤

我對 Linux 很陌生,正在嘗試從 GoDaddy 設定 SSL。我按照有關如何產生密鑰發送給 GoDaddy 以獲得證書的說明進行操作。這是我遵循的指南: http://support.godaddy.com/help/article/5269/generate-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 的新手,因此我們將不勝感激。我已經做了很多谷歌搜索,並試圖盡我所能地跟踪現有的內容,但我希望經驗豐富的專家能夠發現菜鳥的錯誤。

如果我刪除 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。這是需要提供給SSLCertificateKeyFileApache 配置中的選項的內容。

相關內容