搭建一个简易的https
構(gòu)建一個(gè)簡(jiǎn)易的https需要三個(gè)服務(wù)器來(lái)做實(shí)驗(yàn):
????CA:centos7?
????web服務(wù)器:centos6?
????客戶端
一、配置CA(centos7)
1、在/etc/pki/CA/下面創(chuàng)建兩個(gè)文件
?echo 00 > /etc/pki/CA/serial(生成序列號(hào))
?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、生成自簽名證書(shū)
????openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
????
4、給centos6證書(shū)簽名
????openssl? ca -in httpd.csr -out certs/httpd.crt -days 300
????
5、然后將簽名后的證書(shū)發(fā)送到web服務(wù)器上
????scp certs/httpd.crt 172.17.166.166:/etc/httpd//conf.d/ssl/
6、將自己的公鑰發(fā)送到web服務(wù)器上
????scp cacert.pem 172.17.166.166:/etc/httpd//conf.d/ssl/
二、配置web服務(wù)器(centos6)
1、安裝mod_ssl包
????yum install mod_ssl
????這個(gè)包安裝的同時(shí)已經(jīng)生成證書(shū),是因?yàn)榘惭bmod_ssl的時(shí)候執(zhí)行了一個(gè)腳本。用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、生成證書(shū)
????openssl req -new -key /etc/httpd/conf.d/ssl/httpd.key -out /etc/httpd/conf.d/ssl/httpd.csr
????
????生成的證書(shū)里面有3項(xiàng)必須與CA生成自簽名證書(shū)一樣
????(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、將生成的證書(shū)傳給CA
????scp /etc/httpd/conf.d/ssl/httpd.csr 172.17.177.177:/etc/pki/CA/
5、配置https的主配置文件:/etc/httpd/conf.d/ssl.conf
????
????還有
????
????更改上級(jí)證書(shū)的路徑
????更改三個(gè)路徑,其他的可以不用調(diào)
三、訪問(wèn)web服務(wù)器
1、用centos去訪問(wèn)
????
2、用windows去訪問(wèn)https:/172.17.166.166
????
此時(shí)查看證書(shū)
????
能查看到上級(jí)證書(shū)和自己的證書(shū)
如果想讓信任其證書(shū),需要安裝一下上級(jí)證書(shū):
????
然后在/windows/system32/drivers/etc/HOSTS中添加一條記錄就行
????172.17.166.166? www.magedu.com
添加之后訪問(wèn)https://magedu.com就能直接訪問(wèn)了(因?yàn)樽C書(shū)只對(duì)域名認(rèn)證,不認(rèn)證IP地址)
????
這樣一個(gè)簡(jiǎn)易的https就構(gòu)建成了
轉(zhuǎn)載于:https://blog.51cto.com/13296637/1975074
總結(jié)
以上是生活随笔為你收集整理的搭建一个简易的https的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Go并发编程中的那些事[译]
- 下一篇: MVVM模式下 DataTemplate