天天看點

Apache Httpd 2.2 配置CA憑證,實作Https加密通訊什麼是CA憑證Apache Httpd 2.2 實作https加密通訊

關于什麼是CA憑證,以及如何使用Open-SSL申請和搭建CA憑證,我們在之前的文章中已經有過介紹,這裡不再贅述。若有疑問,可參考之前的文章。 <a href="http://www.pojun.tech/blog/2017/09/11/linux-middle-command-1" target="_blank">http://www.pojun.tech/blog/2017/09/11/linux-middle-command-1</a> <a href="http://blog.csdn.net/eumenides_s/article/details/78040787" target="_blank">http://blog.csdn.net/eumenides_s/article/details/78040787</a>
實際生産中CA憑證一般是向一些專業認證的國際機構來進行申請的。我們會模拟使用OpenSSL生成的證書,來實作Apache的安全加密通訊,這與實際生産中是類似的。
準備兩台虛拟主機。他們的作用和角色分别如下圖所示。
接下來,我們分兩個部分進行,在主機B上搭建CA憑證環境,然後在主機A上配置證書環境。
CA憑證環境中,私鑰的名稱以及存放路徑,還有證書的名稱和存放路徑都是有一定規則的,是以,如果不明白的話,可以檢視<code>/etc/pki/tls/openssl.cnf</code> 檔案。
這裡我們沒有采用加密的方式。
證書的名字必須是cacert.pem ,而且存放路徑必須是<code>/etc/pki/CA/cacert.pem</code>
此時如果我們去檢視證書的内容話,是可以檢視我們剛剛指定的這些資訊的。
如果不提前建立這兩個檔案,那麼在生成證書的過程中會出現錯誤。 我們将檔案建立在配置檔案中指定的路徑下面。 生成證書索引資料庫檔案 <code>touch /etc/pki/CA/index.txt</code> 指定第一個頒發證書的序列号 <code>echo 01 &gt; /etc/pki/CA/serial</code>
首先在主機A上安裝mod_ssl 子產品 ,然後我們來檢視一下這個子產品裡面都包含哪些内容
打開 <code>/etc/httpd/conf.d/ssl.conf</code> ,就會發現,mod_ssl已經幫助我們添加了證書檔案,隻不過這個證書檔案沒有任何的意義,我們接下來就是要申請證書,并把他們替換掉。
因為私鑰檔案是給Web伺服器來使用的,是以私鑰檔案可以存放在web伺服器的配置目錄下。這樣友善管理 。
生成自己的證書請求檔案,這裡的請求檔案是要傳給主機B(根CA)來申請證書的。其中的域名采用了範域名解析。 也就是說,當我們把所有的環境配置結束之後,就應該使用https://*.a.com的方式來通路網站,這樣話,伺服器就會自動采用加密的方式來處理我們的請求。
我們需要将證書請求檔案發送給證書頒發機構。
将生成的證書檔案頒發給申請者(主機A)
同時将根CA的證書也發送給Web伺服器(主機A)。這一點很重要。
首先配置Web伺服器的私鑰檔案和證書檔案,編輯”/etc/httpd/conf.d/ssl.conf”
然後将根CA的證書路徑,配置在配置檔案中。
關于在Apache httpd 2.2 上如何配置FQDN,已經在我的另外一片文章中介紹過了,如果有疑問的話,可移步下列站點檢視  http://www.pojun.tech/blog/2017/09/27/linux-middle-command-5 http://xiaoshuaigege.blog.51cto.com/blog/6217242/1969618 http://blog.csdn.net/eumenides_s/article/details/78130561
我們這裡直接給出配置的内容,該配置檔案位于<code>/etc/httpd/conf.d/</code> 路徑下。
經過了上面的配置之後,我們已經實作了Apache https 的加密通訊,下面我們來驗證一下實驗的結果。 我們需要一台浏覽器來通路一下 我們在FQDN中配置的網絡位址。<code>www.a.coom</code>和<code>www.b.com</code> 注意:這裡應該需要配置一下DNS。我們這裡偷個懶,因為我使用的windows主機上的浏覽器,是以,我們簡要的修改下 <code>C:\Windows\System32\drivers\etc\hosts</code> 這個檔案,并在檔案的末尾添加一行。
添加上面的解析之後,我們就可以通過浏覽器通路我們的web服務了(建議使用IE浏覽器)。
通過IE浏覽器可以檢視一下我們的證書路徑。注意:根證書是需要安裝的,如果不明白,可以查閱資料。

綜上,經曆了這麼多的配置,我們整體就會明白,https 通訊加密,以及證書申請到底是怎麼回事。在實際生産中也可以結合此案例來進行操作。若有疑問,歡迎留言。

     本文轉自Eumenides_s 51CTO部落格,原文連結:<b>http://blog.51cto.com/xiaoshuaigege/1969749</b>,如需轉載請自行聯系原作者