用ssl加密apache服務器來建立連接加密網站

jopen 10年前發布 | 26K 次閱讀 Apache Web服務器

1.http這個通信協議是明碼傳送數據,而https時加密傳輸的,加密的方法時通過ssl,這個ssl是以openssl軟件來提供一個加密的函數庫

2.要讓apache支持https協議的話,必須要有mod_ssl這個軟件,以建立連接加密網站

3.環境說明:

A:正規的網站應該向第三方CA頒發機構注冊,用戶瀏覽是向CA機構詢問此網站證書的有效性

B:centos6.4上自建CA,來向客戶端頒發證書,這個自建的CA僅供測試使用

C:apache服務器作為客戶向剛才自建的CA機構注冊證書

//首先確保你的apache服務器已經成功運行,再進行下面步驟

//創建CA來向客戶端頒發證書

#創建證書的文件夾可以隨便選擇,以后在/etc/httpd/conf.d/ssl.conf文件中指定這個證書位置即可
1.首先建立一個CA的根私鑰文件,使用RSA格式,1024位
shell> mkdir /etc/httpd/ssl_ca
shell> cd /etc/httpd/ssl_ca
shell> openssl genrsa -des3 -out ca.key 1024

2.利用建立的RSA私鑰,為CA自己建立一個自簽名的證書文件
shell> openssl req -new -x509 -days 7300 -key ca.key -out ca.crt

3.CA已經建立完畢,生成的ca.key 和ca.crt向客戶端頒發證書

//apache服務器向CA申請證書

1.客戶端生成客戶證書的私鑰文件
shell> openssl genrsa -des3 -out apache_client.key 1024

2.openssl 生成客戶端證書的時候,不能直接生成證書,而是必須通過證書請求文件來生成,現在必須先建立客戶端的證書請求文件
shell> openssl req -new -key client.key -out client.csr

3.有了證書請求文件(client.csr),就可以使用CA的根證書和根私鑰(ca.crt,ca.key)來對請求文件進行簽名,生成客戶端證書client.pem
shell> openssl x509 -req -in client.csr -out client.pem -signkey client.key -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650

//添加apache對openssl模塊的支持

1.下載mod_ssl
shell> yum install mod_ssl.x86_64 

2.驗證apache主配置文件有下面這條
shell> vim /etc/httpd/conf/httpd.conf
Include conf.d/*.conf
#可以加載ssl的配置文件

3.編譯ssl.conf
-------------------
LoadModule ssl_module modules/mod_ssl.so
Listen 443     
#驗證上面這兩條的存在
SSLCertificateFile /etc/httpd/ssl_ca/client.pem
#路徑改為剛才生成客戶端證書文件的路徑
SSLCertificateKeyFile /etc/httpd/ssl_ca/client.key
-------------------
4.重啟apache服務
//在ubuntu客戶機登錄測試
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!