windows本地apache服务器开启ssl
SSl是爲Http傳輸提供安全的協議,經過證書認證來確保客戶端和網站服務器之間的數據是安全, 能夠經過apache自帶的openssl進行配置:
步驟以下:
1.安裝有openssl模板的apache,大多數都會有,判斷有沒有 只須要查看 apache\bin 下有沒有 openssl.exe 運行程序
2.配置 apache/conf/httpd.conf 文件,以下:
#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf
去除這兩行前的#,如果都没有,须手动添加上去
3.配置 apache/conf/extra/httpd-ssl.conf 文件,以下:
#本地配置ssl时不用监听443端口,下面的<VirtualHost *:443>设置了443就可以了 #Listen 443 SSLPassPhraseDialog builtin SSLSessionCache "shmcb:${SRVROOT}/logs/ssl_scache(512000)" SSLSessionCacheTimeout 300 <VirtualHost *:443> DocumentRoot "D:/AppServ/www/kefu/public" ServerName www.78kf.com:443 SSLEngine on SSLCertificateFile "${SRVROOT}/conf/78kf.com/server.crt" SSLCertificateKeyFile "${SRVROOT}/conf/78kf.com/server.key" </VirtualHost>
4.生成服務器的私鑰
打開cmd命令行 進入apache/bin目錄 執行下面命令, 在當前bin目錄下生成一個 server.key 私鑰文件:
windows下从文件管理器打开apache24/bin文件夹,在文件管理器地址栏输入cmd, 就直接进入该文件下的命令行窗口了
openssl genrsa -out server.key 1024
5.生成簽署申請
在當前目錄下繼續執行下面命令 在當前bin目錄下生成一個 server.csr 簽署文件
在输入命令后,openssl会询问你的国家地区机构名等信息,其余信息不想填可以直接回车
值得注意的一點是:Common Name信息必需要和是網站域名或是IP地址與httpd.conf中的serverName一致:
openssl req -new -out server.csr -key server.key -config ..\conf\openssl.cnf
6.生成CA私匙文件
在當前目錄命令行下繼續執行命令 在當前bin目錄下生成一個 ca.key 私鑰文件:
openssl genrsa -out ca.key 1024
7.利用CA的私鑰產生CA的自簽署證書
在當前目錄命令行下繼續執行 命令 在當前bin目錄下生成一個 ca.crt 自簽署證書
該過程將填入簽署文件信息 如國家 省份 城市地區 機構組織等 值得注意的一點是:Common Name 信息必需要和是網站域名或是IP地址與httpd.conf中的serverName一致。(與步驟5一致)
openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config ..\conf\openssl.cnf
8.CA爲網站服務器簽署證書
在當前目錄命令行下繼續執行 命令 在當前bin目錄下生成一個 server.crt 簽署證書文件
這裏執行命令時會報錯,解決方法在當前文件夾下(bin目錄)建立 demoCA 文件夾,
在其中建立2個文件和1個文件夾: index.txt空文件、內容爲01的無後綴名serial文件、 和 newcert空文件夾 便可,從新運行命令便不會有錯了
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ..\conf\openssl.cnf
9.移動文件
將生成的 server.crt,server.key,ca.crt 三个文件複製到 步驟3中所配置的文件夾中
如:D:\AppServ\Apache24\conf\78kf.com
10.配置httpd.conf和httpd-ssl.conf文件中的ServerName的訪問域名 或 IP地址, 重啓apache服務
11.打開IE,輸入https://域名或IP地址:443的時候會彈出一個驗證證書的地方點擊取消發現沒能成功,原來還要生成一個 .pfx 的證書並導入到IE中去。
在當前目錄命令行下繼續執行 openssl pkcs12 -export -in ca.crt -inkey ca.key -out ca.pfx 在bin下面生成一個ca.pfx的文件,
中間有個輸入密碼的過程,要記住這個密碼。打開IE瀏覽器-》工具-》Internet選項-》內容-》證書,按照提示導入,這裏要輸入剛纔生成 .pfx 過程當中輸入的密碼。