詳解 Windows下apache 實現 SSL

2021-09-08 02:10:57 字數 3114 閱讀 3957

ssl:安全套接層,是netscape公司設計的主要用於web的安全傳輸協議。這種協議在web上獲得了廣泛的應用。通過證書認證來確保客戶端和**伺服器之間的資料是安全,過程大致如下:

ssl客戶端在tcp連線建立之後,發出乙個訊息給伺服器,這個訊息裡面包含了自己可實現的演算法列表和其它一些需要的訊息,ssl的伺服器端會回應乙個資料報,這裡面確定了這次通訊所需要的演算法,然後發過去自己的證書(裡面包含了身份和自己的公鑰)。client在收到這個訊息後會生成乙個秘密訊息,用ssl伺服器的公鑰加密後傳過去,ssl伺服器端用自己的私鑰解密後,會話金鑰協商成功,雙方可以用同乙份會話金鑰來通訊了。

如果你要自己做ca,別忘了客戶端需要匯入ca的證書(ca的證書是自簽名的,匯入它意味著你「信任」這個ca簽署的證書)。而商業ca的一般不用,因為它們已經內建在你的瀏覽器中了。

實現https,經我個人測試,每個版本實現的細節都有所不同,但個人認為最為簡單的還是apache_2.2.8-win32-x86-openssl-0.9.8g  那麼***就以這個版本來介紹一下如何實現基於windows下的https.

思路:1.配置apache 以支援ssl

2.為**伺服器生成私鑰及申請檔案

3.安裝ca 使用兩種方法

4.通過ca為**伺服器簽署證書

5.測試

步驟1:配置apache以支援ssl

去掉兩行前面的#

步驟2:為**伺服器生成證書及私鑰檔案

生成伺服器的私鑰

生成乙個server.key

生成簽署申請

此時生成簽署檔案server.csr

步驟3:

ca方面:

應該是乙個專門的ca機構,我們這裡就自己在同一臺機器搭建乙個企業內部ca。

這裡可以直接使用商業ca,但要交納一定的費用,我們來自己動手搭建乙個企業內部ca。

我們這裡介紹兩種方法,一種是使用openssl 另一種是使用wndows系統自帶的ca服務。

我們先看第一種方法,使用openssl

生成ca私鑰

多出ca.key檔案

利用ca的私鑰產生ca的自簽署證書

此時生成了乙個自己的證書檔案,ca就可以工作了,等著生意上門了。

下面準備為**伺服器簽署證書

c:\program files\apache software foundation\apache2.2\bin>openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ..\conf\openssl.cnf

但,此時會報錯:

所以我們需要先建立以下檔案結構用於存放相應檔案:

再執行一遍,即可生成server.crt檔案

然後將 server.crt  server.key複製conf資料夾下

重新啟動apache即可!

但要在ie中匯入ca的證書,否則會報告證書不可信任!

實驗終於ok!!

當然也可以使用windows的證書服務來為**伺服器簽署證書:下面我們就來看一看:

安裝成功後會在預設站點下生成certsr慮擬目錄

下面我們開始簽署過程

先停止apache,因為80口在占用。開啟iis的預設**

然後選擇高階證書申請

然後開始頒發即可:

然後再將server.key也複製到conf資料夾下。

重新啟動apache,即可!

步驟4:重新啟動apache即可!

**:

linux下解除安裝apach

1 確認是否安裝過,或者系統自帶了httpd服務 rpm qa grep httpd或者 yum list grep httpd2 停止httpd服務 已經停止服務的不用執行次命令 systemctl stop httpd.service3 解除安裝apache,通過rpm e或者yum erase...

關於windows伺服器apach假死

在解決上篇文章中提到的linux問題中間,windows伺服器也出現了問題,果然天將降大任於斯人也,必先讓他加班猝死 具體問題如下 伺服器莫名其妙不能訪問,登入伺服器後出現一下彈框 檢視程序php cgi依然存在在工作,但是依然無法訪問,重啟後恢復正常.emmmm感覺每次重啟完linux再過來重啟一...

Apach下的偽靜態配置

首先,我們必須明白什麼是偽靜態,偽靜態的作用是什麼,為什麼要用到偽靜態,明白了這幾點之後我們才算真正開始學習偽靜態。1.偽靜態的作用 1.為了緩解伺服器壓力和增強搜尋引擎的友好面,有利於 的seo方面。2.為了隱藏我們需要傳遞的引數名,防止 的相關資訊被抓取。3.實際上的偽靜態是相比靜態頁面增加了伺...