Windows下Apache配置SSL以支援https及出錯的解決方法

伊谢尔伦
發布: 2016-11-25 14:38:15
原創
2969 人瀏覽過

SSL

SSL憑證透過在客戶端瀏覽器和Web伺服器之間建立一條SSL安全通道(Secure socket layer(SSL)安全協定是由Netscape Communication公司設計開發。此安全協定主要用來提供對使用者和伺服器的認證;對傳送的資料進行加密和隱藏;確保資料在傳送中不會改變,即資料的完整性,現已成為該領域中全球化的標準。 WEB伺服器程式中,因此,只需安裝伺服器憑證就可以啟動該功能了)。即透過它可以啟動SSL協議,實現資料資訊在客戶端和伺服器之間的加密傳輸,可以防止資料資訊的外洩。保證了雙方傳遞資訊的安全性,而且使用者可以透過伺服器憑證驗證他所造訪的網站是否是真實可靠。

安全通訊端層 (SSL) 技術透過加密資訊和提供鑑權,保護您的網站安全。一份 SSL 憑證包括一個公用金鑰和一個私人金鑰。公用金鑰用於加密訊息,私用金鑰用於解譯加密的訊息。當瀏覽器指向一個安全域時,SSL 會同步確認伺服器和用戶端,並建立加密方式和一個唯一的會話金鑰。它們可以啟動一個保證訊息的隱私和完整性的安全會話。

首先要有一個主證書,然後用主證書來簽發伺服器證書和客戶證書,伺服器證書和客戶證書是平級關係,SSL所使用的證書可以自己生成,也可以透過一個商業性CA(如Verisign或Thawte)簽署證書。簽發證書的問題:如果使用的是商業證書,具體的簽署方法請查看相關銷售商的說明;如果是知己簽發的證書,可以使用openssl 自帶的CA.sh腳本工具。如果不為單獨的客戶端簽發證書,客戶端證書可以不用生成,客戶端與伺服器端使用相同的證書。

設定流程 

步驟一:安裝apache,使其支援SSL,並安裝php

1.安裝隨附SSL模組的apache,apache_2.2.8-win32-x86-openssl-0.9.8g

. apache以支援SSL:

1)開啟apache的設定檔conf/httpd.conf

LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
登入後複製

去掉兩行前面的#

2)注意修改httpd-ssl.conf 檔案裡的兩個欄位:

SSLCertificateFile "C:/Apache2.2/conf/server.crt"
SSLCertificateKeyFile "C:/Apache2.2/conf/server.key"
登入後複製

3 .安裝php,整合apache和php(略)

步驟二:為網站伺服器產生憑證及私鑰檔案

1. 產生伺服器的私鑰

進入命令列:

D:\local\apache2\bin\openssl genrsa -out server.key 1024
登入後複製

在目前目錄下產生了一個server.key產生簽署申請

2. 產生簽署申請

D:\local\apache2\bin>openssl req -new –out server.csr -key server.key -config ..\conf\openssl.cnf
登入後複製

此時產生簽署文件server.csr。

可能會報錯:無法定位序數xxx於動態連結庫libeay32.dll,解決方法:將apache的bin目錄下的libeay32.dll檔案複製到c:windowssystem32下。

步驟三:透過CA為網站伺服器簽署憑證

1.產生CA私鑰

D:\local\apache2\bin\openssl genrsa  -out ca.key 1024
登入後複製

多出ca.key檔案

2.利用CA的私鑰產生CA的自簽署憑證

D:\local\apache2\bin\openssl req  -new -x509 -days 365 -key ca.key -out ca.crt  -config ..\conf\openssl.cnf
登入後複製

2.利用CA的私鑰產生CA的自簽署憑證

D:\local\apache2\bin\openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ..\conf\openssl.cnf
登入後複製

輸入一些信息,注意Common Name為伺服器域名,如果在本機,為本機IP。

3.CA為網站伺服器簽署證書

127.0.0.1 localhost
127.0.0.1 www.icultivator.com
登入後複製

但此時會報錯,於是在當前目錄創建demoCA,裡面創建以下文件,index.txt,serial:serial內容為01,其他為空,以及文件夾newcert .再執行一遍,即可產生server.crt檔

步驟四:將  server.crt,server.key複製到apache的conf資料夾下,重啟apache

步驟五:設定windows

開啟C:WINDOWSsystem32dritcverse的etc檔:

修改為:

https://www.icultivator.com
登入後複製

步驟六:

在apache下建立網站。 訪問
rrreee

🎜🎜
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!