如何在Ubuntu 14.04 上為Apache 2.4 安裝SSL支持
生成一個證書籤名請求
證書機構(CA)會要求你在你的伺服器上生成一個證書籤名請求(CSR)。這是一個很簡單的過程,只需要一會兒就行,你需要在你的伺服器上運行下面的命令並輸入需要的信息:
# openssl req -new -newkey rsa:2048 -nodes -keyout yourdomainname.key -out yourdomainname.csr
輸出看上去會像這樣:
這一步會生成兩個文件:一個用於解密SSL證書的私鑰文件,一個證書籤名請求(CSR)文件(用於申請你的SSL證書)。
根據你申請的機構,你會需要上傳csr文件或者在網站表格中粘帖該文件內容。
在Apache中安裝實際的證書
生成步驟完成之後,你會收到新的數字證書。本篇教程中我們使用Comodo SSL,並在一個它發給我們的zip文件中收到了證書。要在apache中使用它,你首先需要用下面的命令用收到的證書創建一個組合的證書:
# cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > bundle.crt
用下面的命令確保ssl模塊已經載入進apache了:
# a2enmod ssl
如果你看到了「Module ssl already enabled」這樣的信息就說明你成功了,如果你看到了「Enabling module ssl」,那麼你還需要用下面的命令重啟apache:
# service apache2 restart
最後像下面這樣修改你的虛擬主機文件(通常在/etc/apache2/sites-enabled 下):
DocumentRoot /var/www/html/
ServerName linoxide.com
SSLEngine on
SSLCertificateFile /usr/local/ssl/crt/yourdomainname.crt
SSLCertificateKeyFile /usr/local/ssl/yourdomainname.key
SSLCACertificateFile /usr/local/ssl/bundle.crt
你現在應該可以用https://YOURDOMAIN/(注意使用『https』而不是『http』)來訪問你的網站了,並可以看到SSL的進度條了(通常在你瀏覽器中用一把鎖來表示)。
注意: 現在所有的內容鏈接都必須指向https,如果網站上的一些內容(像圖片或者css文件等)仍舊指向http鏈接的話,你會在瀏覽器中得到一個警告,要修復這個問題,請確保每個鏈接都指向了https。
在你的網站上重定向HTTP請求到HTTPS中
如果你希望重定向常規的HTTP請求到HTTPS,添加下面的文本到你希望修改的虛擬主機,或者如果希望給伺服器上所有網站都添加的話就加入到apache.conf中:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
via: http://linoxide.com/ubuntu-how-to/install-ssl-apache-2-4-in-ubuntu/
作者:Adrian Dinu 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive