安全套接字層或稱SSL,是一種加密網站和瀏覽器之間連接的標准安全技術。這確保服務器和瀏覽器之間傳輸的數據保持隱私和安全。它被成千上萬的人使用來保護他們與客戶的通信。要啟用SSL鏈接,Web服務器需要安裝SSL證書。
你可以創建你自己的SSL證書,但是這默認不會被瀏覽器所信任,要解決這個問題,你需要從受信任的證書機構(CA)處購買證書,我們會向你展示如何獲取證書並在apache中安裝。
(1)在Wosign 申請獲得一年免費SSL證書,注冊賬號填寫信息后,
可以獲得一個zip壓縮包,里面有很多服務器的證書,選擇與自己服務器相應的證書。
(2)生成一個證書簽名請求
證書機構(CA)會要求你在你的服務器上生成一個證書簽名請求(CSR)。這是一個很簡單的過程,只需要一會兒就行,你需要在你的
服務器上運行下面的命令並輸入需要的信息:
- # openssl req -new -newkey rsa:2048 -nodes -keyout yourdomainname.key -out yourdomainname.csr
輸出看上去會像這樣:
這一步會生成兩個文件:一個用於解密SSL證書的私鑰文件,一個證書簽名請求(CSR)文件(用於申請你的SSL證書)。
根據你申請的機構,你會需要上傳csr文件或者在網站表格中粘帖該文件內容。
(3)用下面的命令確保ssl模塊已經加載進apache了:
- # a2enmod ssl
如果你看到了“Module ssl already enabled”這樣的信息就說明你成功了,如果你看到了“Enabling module ssl”,那么你還需要用下面的命令重啟apache:
- # service apache2 restart
(4)配置SSL
>>> vi /etc/apache2/sites-available/000-default.conf
1.<virtualHost *:80> 改成<virtualHost *:443> 因為ssl協議的端口是443
2.DocumentRoot下面添加
ServerName [yourdomainname.com, 替換成您的域名]
SSLEngine on
#/usr/local/ssl/ 下面放的是證書
SSLCertificateFile /usr/local/ssl/2_yourdomainname.crt
SSLCertificateKeyFile /usr/local/ssl/3_yourdonaminname.key
SSLCACertificateFile /usr/local/ssl/1_root_bundle.crt
(5)/etc/init.d/apache2 restart
(6) Browser 中: https://yourdomainname.com
(7)重定向HTTP請求到HTTPS中(視個人情況而定)
1) >>> vi /etc/apache2/sites_enabled/000_default.conf
2)在自己的虛擬主機<VirtualHost>中配置
添加如下內容即可:
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
3)執行加載Rewrite模塊:a2enmod rewrite
4)執行后,會提示OK和重啟Apache命令(/etc/init.d/apache2 restart)
搞定啦^_^,速度測試一下咯!
參考連接 :
http://linux.cn/article-4901-1.html