2016-01-23 58 views
2

我使用OpenSSL的命令創建一個專用密鑰文件:如何安裝在GCE SSL [WordPress的+阿帕奇]

openssl genrsa -des3 -out private.key 2048 

進入了我的密碼,並隨後產生CSR:

openssl req -new -key privatekey.key -out csrkey.csr 

我用這個CSR密鑰通過RapidSSL創建我的SSL證書。他們發表了我3證書.CER結束即:

  1. CACertificate-1.cer
  2. CACertificate-2.cer
  3. ServerCertificate-1.cer

我上傳的所有這些證書到/ etc/apache2的/文件夾

的/ etc/apache2的/包含:

然後我必須將代碼添加到/etc/apache2/apache2.conf中:

<VirtualHost _default_:443> 
SSLEngine on 
DocumentRoot /var/www/html 
ServerName example.co.uk 
SSLEngine on 
SSLCertificateFile /etc/apache2/CACertificate-1.cer 
SSLCertificateKeyFile /etc/apache2/privatekey.key 
SSLCertificateChainFile /etc/apache2/chain.ctr 
</VirtualHost> 

我的/etc/apache2/apache2.conf文件沒有<VirtualHost>,當我嘗試重新啓動apache時,它表示「SSLEngine命令未在此模塊中定義」。所以,我看看四周,發現/etc/apache2/sites-available/default-ssl.conf它確實包含<VirtualHost>

我接着加入上面的代碼,但在重新啓動使用

sudo apachectl restart 

https://example.co.uk阿帕奇後給我一個灰色的屏幕:SSL連接錯誤

ERR_SSL_PROTOCOL_ERROR隱藏詳細信息無法與服務器建立安全連接 。這可能是服務器的問題,或者可能是 需要您沒有的客戶端身份驗證證書。

回答

2

下面是啓用谷歌Compute Engine上的Apache服務的HTTPS協議(您可以跳過你已經採取的那些步驟)的步驟:

  1. 創建一個安全的目錄來安裝和保護鍵

$ sudo mkdir /etc/apache2/ssl.crt
$ cd /etc/apache2/ssl.crt

  • 生成私鑰
  • $ sudo openssl genrsa -out example.key 2048

  • 生成證書籤名請求(CSR)
  • $ sudo openssl req -new -key example.key -out example.csr

  • 您可以使用新的CSR從證書頒發機構(CA)獲取有效證書。另外,您也可以通過運行以下命令
  • $ sudo openssl x509 -req -days 365 -in example.csr -signkey example.key -out example.crt

    注意生成自簽名證書:自簽名證書不適用於公共場所。 儘管自簽名證書實現了完全加密,但當訪問者嘗試訪問您的網站時, 會導致大多數瀏覽器發出警告或錯誤。以上命令僅用於測試目的 。

  • 打開Apache的SSL站點配置文件用於編輯
  • $ sudo nano /etc/apache2/sites-available/default-ssl.conf

  • 編輯以下指令值
  • SSLCertificateFile /etc/apache2/ssl.crt/example.crt

    SSLCertificateKeyFile /etc/apache2/ssl.crt/example.key

  • 取消註釋並編輯SSLCertificateChainFile值,如果你從你的CA
  • SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt

    獲證書鏈文件
  • 保存配置文件並關閉它。

  • 立即啓用此站點配置文件

  • $ sudo a2ensite default-ssl.conf

  • 可以使用下面的命令驗證,看配置錯誤
  • $ sudo apachectl configtest

    1. 重啓Apache服務

    $ sudo service apache2 restart

  • 添加/啓用以下協議GCE防火牆規則:端口對您的VM實例
  • tcp:80 and tcp:443