搭建一个简易的https
構建一個簡易的https需要三個服務器來做實驗:
????CA:centos7?
????web服務器:centos6?
????客戶端
一、配置CA(centos7)
1、在/etc/pki/CA/下面創(chuàng)建兩個文件
?echo 00 > /etc/pki/CA/serial(生成序列號)
?touch /etc/pki/CA/index.txt
2、創(chuàng)建私鑰
????(umask 066;openssl genrsa -out private/cakey.pem 4096)
????生成私鑰的文件一定要放在/etc/pki/CA/private/cakey.pem
3、生成自簽名證書
????openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
????
4、給centos6證書簽名
????openssl? ca -in httpd.csr -out certs/httpd.crt -days 300
????
5、然后將簽名后的證書發(fā)送到web服務器上
????scp certs/httpd.crt 172.17.166.166:/etc/httpd//conf.d/ssl/
6、將自己的公鑰發(fā)送到web服務器上
????scp cacert.pem 172.17.166.166:/etc/httpd//conf.d/ssl/
二、配置web服務器(centos6)
1、安裝mod_ssl包
????yum install mod_ssl
????這個包安裝的同時已經生成證書,是因為安裝mod_ssl的時候執(zhí)行了一個腳本。用rpm -q - -scripts mod_ssl可以查看腳本:
????
2、創(chuàng)建私鑰:
????mkdir /etc/httpd/conf.d/ssl
????(umask 066;openssl genrsa -out /etc/httpd/conf.d/ssl/httpd.key 2048)
3、生成證書
????openssl req -new -key /etc/httpd/conf.d/ssl/httpd.key -out /etc/httpd/conf.d/ssl/httpd.csr
????
????生成的證書里面有3項必須與CA生成自簽名證書一樣
????(1)Country Name (2 letter code) [XX]:CN
????(2)State or Province Name (full name) []:henan
????(3)Organization Name (eg, company) [Default Company Ltd]:magedu.com
4、將生成的證書傳給CA
????scp /etc/httpd/conf.d/ssl/httpd.csr 172.17.177.177:/etc/pki/CA/
5、配置https的主配置文件:/etc/httpd/conf.d/ssl.conf
????
????還有
????
????更改上級證書的路徑
????更改三個路徑,其他的可以不用調
三、訪問web服務器
1、用centos去訪問
????
2、用windows去訪問https:/172.17.166.166
????
此時查看證書
????
能查看到上級證書和自己的證書
如果想讓信任其證書,需要安裝一下上級證書:
????
然后在/windows/system32/drivers/etc/HOSTS中添加一條記錄就行
????172.17.166.166? www.magedu.com
添加之后訪問https://magedu.com就能直接訪問了(因為證書只對域名認證,不認證IP地址)
????
這樣一個簡易的https就構建成了
轉載于:https://blog.51cto.com/13296637/1975074
總結
以上是生活随笔為你收集整理的搭建一个简易的https的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Go并发编程中的那些事[译]
- 下一篇: MVVM模式下 DataTemplate