為了模擬真實環境,這里使用的兩臺服務器做測試,也可以在一臺服務器操作下面的步驟。
私有CA認證機構(192.168.100.200)
1、cd /etc/pki/CA
2、(umask 077; openssl genrsa -out private/cakey.pem) #生成一對密鑰
3、openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3667 #生成自簽證書,然后填寫相關信息,后面web服務器生成證書頒發請求時候填寫的信息要一致,由于前面5項我已經在/etc/pki/tls/openssl.cnf 定義好了默認信息,這里都默認。

4、vim /etc/pki/tls/openssl.cnf #編輯此文件
找到[ CA_default ]
將下面的 dir = ../../CA
改成絕對路徑: dir = /etc/pki/CA

5、mkdir certs crl newcerts
touch index.txt
echo 00 > serial #設置序列號
web服務器配置(192.168.100.100)
1、yum install -y httpd #安裝apache
2、yum install -y mod_ssl #安裝ssl模塊
3、vim /etc/httpd/conf/httpd.conf
找到DocumentRoot "/var/www/html" 前面加上#注釋,即取消中心主機,開啟虛擬主機
4、vim /etc/httpd/conf.d/amd5.cn.conf添加下面內容
<VirtualHost 192.168.100.100:80>
ServerAdmin admin@amd5.cn
DocumentRoot /www/html/amd5.cn/web
ServerName amd5.cn
Serveralias www.maowutv.com
ErrorLog /www/html/amd5.cn/logs/error_log
CustomLog /www/html/amd5.cn/logs/access_log common
</VirtualHost>
5、mkdir -pv /www/html/amd5.cn/{web,logs}
6、mkdir /etc/httpd/ssl
7、cd /etc/httpd/ssl
8、(umask 077; openssl genrsa 1024 >amd5.key) #創建一對1024位長度的密鑰
9、openssl req -new -key amd5.key -out amd5.csr #生成證書頒發請求(然后將請求傳送給CA服務器),此處填寫的信息要和前面CA生成自簽證書時候填寫的信息要一致,這里我沒有修改配置文件,所以手動填寫。

10、 scp amd5.csr root@192.168.100.200:/root/ #復制請求到CA認證服務器
遠程到CA認證服務器192.168.100.200然后執行下面命令
openssl ca -in /root/amd5.csr -out /root/amd5.crt -days 3650 #CA端 簽署此證書10年的有效期
錯誤1:
wrong number of fields on line 1 (looking for field 6, got 1, '' left)
原因是你的index.txt文件不為空,改為空文件即可。
錯誤2:
error while loading serial number
3078239980:error:0D066096:asn1 encoding routines:a2i_ASN1_INTEGER:short line:f_int.c:215:
原因:是因為serial文件中沒有賦初值,即沒有執行echo 00 > serial

11、scp root@192.168.100.200:/root/amd5.crt ./etc/httpd/ssl/ #下載簽署以后的證書到web服務器/etc/httpd/ssl/目錄
12、cd /etc/httpd/conf.d
cp ssl.conf ssl.conf.bak #備份ssl.conf文件
vim ssl.conf #編輯此文件
1.找到<VirtualHost _default_:443>改成<VirtualHost 192.168.100.100:443>
2.找到:
#DocumentRoot "/var/www/html"
#ServerName www.example.com:443
在下面添加兩行
ServerName www.maowutv.com
DocumentRoot "/www/html/amd5.cn/web/"
3.找到SSLCertificateFile /etc/pki/tls/certs/localhost.crt
改成SSLCertificateFile /etc/httpd/ssl/amd5.crt
4.找到SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
改成SSLCertificateKeyFile /etc/httpd/ssl/amd5.key
13、service httpd restart
查看443端口是否被監聽lsof -i:443

14、vim /etc/sysconfig/iptables添加下面一行,允許443端口外部訪問
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
/etc/init.d/iptables restart #重啟防火墻讓修改生效
15、修改本地host文件,C:\Windows\System32\drivers\etc添加一行:
192.168.100.100 www.maowutv.com
16、本地瀏覽器輸入http://www.maowutv.com 訪問測試。




