HTTPS就等于HTTP加上TLS(SSL),HTTPS協議的目標主要有三個:
數據保密性。保證內容在傳輸過程中不會被第三方查看到。就像快遞員傳遞包裹時都進行了封裝,別人無法知道里面裝了什么東西。
數據完整性。及時發現被第三方篡改的傳輸內容。就像快遞員雖然不知道包裹里裝了什么東西,但他有可能中途掉包,數據完整性就是指如果被掉包,我們能輕松發現并拒收。
身份校驗。保證數據到達用戶期望的目的地。就像我們郵寄包裹時,雖然是一個封裝好的未掉包的包裹,但必須確定這個包裹不會送錯地方。
啟用HTTPS之前需要有證書,而證書需要首先在自己服務器上創建CSR,對應的公鑰和私鑰。這里我全部都拿Nginx服務器舉例,Apache也不會差太多,都是基于openssl的。因為我只有一個主機域名www.49028c.com,所以證書方便選擇了COMODO的PositiveSSL,每年9刀。需要注意COMODO要求證書至少是2048位,見下面的命令。激活證書的時候需要注意common name那里要填寫自己的域名地址,我因為并不使用Vevb.com,所以這里寫的就是www.49028c.com,需要注意這兩個主機地址是不同的。其他的組織名公司名什么的如果沒有就寫NA,不要留空。下面簡單說一下步驟
1、以root登錄,升級服務器。這里是為了解決OpenSSL的一個大漏洞CVE-2014-0224,因為ChangeCipherSpec消息的問題可能導致中間人攻擊,解密并修改被攻擊的服務器和客戶端之間的通信,從而獲得加密的數據。
查看OpenSSL版本,確認至少在1.0.1h以上,
openssl version -a
如果沒有,升級服務器,以Debian為例
apt-get updateapt-get upgrade
2、創建CSR和私鑰
openssl req -new -newkey rsa:2048 -nodes -keyout www.49028c.com.key -out www.49028c.com.csr
得到2個文件,私鑰www.49028c.com.key,CSR文件www.49028c.com.csr,其中CSR里面的內容在激活證書的時候需要提交
3、購買證書,完成激活,下載證書文件
下載的證書文件通常是一個壓縮包,有些是2個文件,有些是4個文件
如果是2個文件,是這樣的:
www_jb51_net.ca-bundle www_jb51_net.crt如果是4個文件,通常都是這樣的:
www_jb51_net.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt其中www_slyar_com.ca-bundle就是自動合并了其他3個文件的產物,一個道理
4、合并證書,順序一定不能錯
cat www_jb51_net.crt www_slyar_com.ca-bundle > www.49028c.com.crt
或者
cat www_slyar_com.crt www_slyar_com.ca-bundle > www.49028c.com.crt
最后產生的www.49028c.com.crt是4個文件的合并,此文件與之前產生的www.49028c.com.key一起組成了Nginx需要使用的證書
新聞熱點
疑難解答