基於httpd的https


服務器IP版本
CA192.168.0.100/ca.abc.comCentOS7
httpd192.168.0.110/www.abc.comCentOS6.7


1. 爲httpd服務器申請數字證書

1.1 創建私有CA(CA服務器)

~]# cd /etc/pki/CA/
CA]# (umask 077;openssl genrsa -out private/cakey.pem 2048)
#創建私有CA


wKioL1cXMDShBw15AAFaNQ4ixSY561.jpg

CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 7300
#生成自簽證書,Ctrl+Backspace可進行修改
#自簽證書依次填入:CN、Jiangsu、城市、公司、Ops、ca.abc.com、郵箱(可省略)
CA]# touch index.txt
CA]# echo 01 > serial



1.2 創建證書籤署請求(httpd服務器)

在/etc/httpd/目錄下創建ssl,進入ssl

ssl]# (umask 077;openssl genrsa -out httpd.key 1024)
#生成私鑰


wKioL1cXMo7Ruxq2AAEQhbF9naI142.jpg

ssl]# openssl req -new -key httpd.key -out httpd.csr(創建證書籤署請求)
#注:請求信息中hostname爲www.abc.com,必須與訪問域名一致。
ssl]# scp httpd.csr CA_ServerIP:/tmp/(發送簽署請求給CA服務器)



1.3 CA簽證(CA服務器)

~]# cd /etc/pki/CA/
CA]# openssl ca -in /tmp/httpd.csr -out certs/httpd.crt(簽署發送來的請求證書)
CA]# scp certs/httpd.crt HTTPD_ServerIP:/etc/httpd/ssl(將證書發送給客戶端)



2. 配置httpd服務器支持ssl及使用的證書

~]# yum -y install mod_ssl(安裝完即通過配置文件加載模塊)
~]# vim /etc/httpd/conf.d/ssl.conf


DocumentRoot "/var/www/html"
#取消註釋,如有需要修改當前路徑
ServerName www.abc.com:443
#取消註釋,並修改域名
SSLCertificateFile /etc/httpd/ssl/httpd.crt
#修改默認指定的SSL證書存放位置
SSLCertificateKeyFile /etc/httpd/ssl/httpd.key
#修改默認指定的SSL私鑰文件存放位置

wKiom1cXNjCQbC1gAAArRE8N8KE046.jpg

其他功能註解(無須修改):

SSLEngine on 
#開啓SSL功能
SSLProtocol all -SSLv2 
#支持SSL所有協議,但不支持SSLv2
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA 
#支持的SSL加密方式,!表示不支持
~]# httpd -t(測試語法)
~]# service httpd restart(改變監聽端口)


因爲指向默認路徑,故同時支持http和https,若只允許https,關閉Listen 80;但客戶訪問一般只會訪問http,所以不能簡單關閉80端口,需做URL重定向。


3. 測試基於https訪問響應的主機

~]# openssl s_client
~]# openssl s_client -connect www.abc.com:443 -CAfile /etc/pki/CA/cacert.pem(CA服務器上驗證)


其他客戶端瀏覽器訪問https需導入cacert.pem證書,否則爲不安全的連接










發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章