一晴竞、搭建PHP+apache環(huán)境:
apache:http://www.apachelounge.com/download/php:http://windows.php.net/download/#php-5.5
版本選擇都下載最新版的64bit
選擇解壓到C盤根目錄上噩死,現(xiàn)在開始配置,PHP是不用動的行嗤,只需要在訪問域名時候Apache去找PHP解析就行了昂验,所以僅僅配置:
Apache24\conf\httpd.conf
配置步驟:
1.打開Apache24\conf\httpd.conf
ServerRoot根據(jù)自己需求改為apache根目錄艾扮。
DocumentRoot 也可以根據(jù)自己的喜好修改網(wǎng)站根目錄的地方泡嘴。別忘了下面的Directory節(jié)點里面的也得改。
2.在一堆LoadModule下面添加
# php7 support
LoadModule php7_module C:/php/php7apache2_4.dll
AddType application/x-httpd-php .php .html .htm
# configure the path to php.ini
PHPIniDir "C:/php"
## 上面這句話的意思是以模塊的方式加載PHP就是將PHP作為apache的模塊
3.為了讓apache識別index.php
也設(shè)為默認頁把? ? DirectoryIndex index.html修改為? ? DirectoryIndex index.html index.php
4.管理員權(quán)限打開cmd,這句的作用是將apache注冊為win的服務(wù)
C:\Apache24\bin\httpd.exe -k install
5.在htdocs中新建一個index.php文件松靡,然后在瀏覽器中輸入127.0.0.1可以打開了證明安裝完畢
二建椰、搭建本地HTTPS協(xié)議服務(wù)器:
1.修改兩個配置文件,一個為conf/httpd.conf屠列,另一個為conf/extra/httpd-ssl.conf
在httpd.conf中
a. 刪掉以下語句前的’#’#LoadModule ssl_module modules
/mod_ssl.so
#Include conf/extra/httpd-mpm.conf
#Include conf/extra/httpd-ssl.conf
b. httpd-ssl.conf中把相應(yīng)選項改成如下笛洛,有’#’的刪掉
SSLCertificateFile
"c:/Apache24/conf/server.crt"SSLCertificateKeyFile "c:/Apache24/conf/server.key"SSLCACertificateFile "c:/Apache24/conf/ca.crt"SSLVerifyClient require
SSLVerifyDepth? 1
2.生成各種證書?
進入Apache24\bin目錄苛让,在對應(yīng)文件夾下打開cmd?
這里需要一個openssl的配置文件openssl.cnf狱杰,如果他不在 conf文件夾下,可以去網(wǎng)上下一個,建議把它放到bin目錄下颁湖,這樣子敲命令比較方便
a. 首先要生成服務(wù)器端的私鑰(key文件):setOPENSSL_CONF=openssl.cnf
openssl genrsa -des3 -outserver.key1024b. 生成server.csr 甥捺,Certificate Signing Request(CSR),生成的csr文件交給CA簽名后形成服務(wù)端自己的證書.屏幕上將有提示,依照其指示一步一步輸入要求的個人信息即可.
openssl req -new-key server.key -outserver.csr -config openssl.cnf
c. 對客戶端也作同樣的命令生成key及csr文件
openssl genrsa -des3 -outclient.key1024openssl req -new-key client.key -outclient.csr -config openssl.cnf
d. CSR文件必須有CA的簽名才可形成證書.可將此文件發(fā)送到verisign等地方由它驗證,要交一大筆錢,何不自己做CA呢.
openssl req -new-x509 -keyout ca.key -outca.crt -config openssl.cnf
e. 在bin目錄下新建一個demoCA文件夾镀层,進入它
新建newcerts文件夾唱逢,不需要進入
新建index.txt
新建serial,打開后輸入01保存即可
f. 用生成的CA的證書為剛才生成的server.csr,client.csr文件簽名:
openssl ca -inserver.csr -outserver.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
openssl ca -inclient.csr -outclient.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
g. 生成一個ca.pfx备韧,打開IE瀏覽器-》工具-》Internet選項-》內(nèi)容-》證書织堂,按照提示導入奶陈,這里要輸入剛才生成 .pfx 過程中輸入的密碼
openssl pkcs12 -export -inca.crt -inkey ca.key -outca.pfx.
h.在httpd.conf中找到下面這句話#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so 取消注釋(刪掉前面的"#")
i.openssl rsa -in server.key -out server.key
把生成的server.key復制到conf目錄下覆蓋 然后打開httpd-ssl.conf 找到SSLPassPhraseDialog builtin 在前面加上#
重啟apache即可https訪問項目吃粒。
備注:
1、cmd命令界面圖示例:
2捕发、剛剛下載的PHP有兩個ini文件很魂,他們的區(qū)別是
3遏匆、上面有個在IE導入證書的我也不知道是什么來的,效果圖:
訪問的效果圖:
在上面的F步驟之中可能出現(xiàn)的錯誤是:
解決辦法:進入demoCA帝蒿,然后打開index.txt.attr葛超,把它修改成unique_subject = no就可以了
摘自:
http://blog.csdn.net/wlmnzf/article/details/50244409http://blog.csdn.net/wlmnzf/article/details/50229407
http://www.cnblogs.com/GaZeon/p/6214915.html#ys
?現(xiàn)在想知道 httpd.conf 和 \extra\httpd-vhosts.conf ?和 \extra\httpd-ssl.conf的關(guān)系嗎?就是配置文件啊答渔,兩個個是配置HTTP的侥涵,還有一個是配置HTTPS協(xié)議的∥咂現(xiàn)在關(guān)鍵是HTTPS是什么東西啊冲呢?招狸?哭笑哭笑~~~
HTTPS密文傳輸與公鑰私鑰、CA證書之間的關(guān)系乘凸。
他是如何實現(xiàn)密文傳輸?shù)挠冢绾螌崿F(xiàn)任何人劫持客戶端與服務(wù)端的通信也能保證,客戶端的數(shù)據(jù)(比如用戶名密碼不被篡改的)寿羞。
文章推薦:
數(shù)字證書與CA的掃盲介紹:
https://kb.cnblogs.com/page/194742/
也許赂蠢,這樣理解HTTPS比較容易:
https://kb.cnblogs.com/page/563885/
HTTPS為什么安全 &分析 HTTPS 連接建立全過程:
http://wetest.qq.com/lab/view/110.html
數(shù)字證書的基礎(chǔ)知識:
http://www.enkichen.com/2016/02/26/digital-certificate-based/