如何在Ubuntu 14.04 上為Apache 2.4 安裝SSL支持

jopen 9年前發布 | 8K 次閱讀 Apache

今天我會講述如何為你的個人網站或者博客安裝SSL 證書,來保護你的訪問者和網站之間通信的安全。

安全套接字層或稱SSL,是一種加密網站和瀏覽器之間連接的標準安全技術。這確保服務器和瀏覽器之間傳輸的數據保持隱私和安全。它被成千上萬的人使用來保護他們與客戶的通信。要啟用SSL鏈接,Web服務器需要安裝SSL證書。

你可以創建你自己的SSL證書,但是這默認不會被瀏覽器所信任,要解決這個問題,你需要從受信任的證書機構(CA)處購買證書,我們會向你展示如何獲取證書并在apache中安裝。

如何在Ubuntu 14.04 上為Apache 2.4 安裝SSL支持

生成一個證書簽名請求

證書機構(CA)會要求你在你的服務器上生成一個證書簽名請求(CSR)。這是一個很簡單的過程,只需要一會兒就行,你需要在你的服務器上運行下面的命令并輸入需要的信息:

# openssl req -new -newkey rsa:2048 -nodes -keyout yourdomainname.key -out yourdomainname.csr

輸出看上去會像這樣:

如何在Ubuntu 14.04 上為Apache 2.4 安裝SSL支持

這一步會生成兩個文件:一個用于解密SSL證書的私鑰文件,一個證書簽名請求(CSR)文件(用于申請你的SSL證書)。

根據你申請的機構,你會需要上傳csr文件或者在網站表格中粘帖該文件內容。

在Apache中安裝實際的證書

生成步驟完成之后,你會收到新的數字證書。本篇教程中我們使用Comodo SSL,并在一個它發給我們的zip文件中收到了證書。要在apache中使用它,你首先需要用下面的命令用收到的證書創建一個組合的證書:

# cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > bundle.crt

如何在Ubuntu 14.04 上為Apache 2.4 安裝SSL支持

用下面的命令確保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

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!