Centos Apache基于openssl的https服務(wù)配置

2016年11月13日20:47:56 發(fā)表評論 5,612 ℃

為了模擬真實(shí)環(huán)境,這里使用的兩臺服務(wù)器做測試,也可以在一臺服務(wù)器操作下面的步驟。

私有CA認(rèn)證機(jī)構(gòu)(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 #生成自簽證書,然后填寫相關(guān)信息,后面web服務(wù)器生成證書頒發(fā)請求時(shí)候填寫的信息要一致,由于前面5項(xiàng)我已經(jīng)在/etc/pki/tls/openssl.cnf 定義好了默認(rèn)信息,這里都默認(rèn)。

Centos Apache基于openssl的https服務(wù)配置

4、vim /etc/pki/tls/openssl.cnf  #編輯此文件

找到[ CA_default ]

將下面的 dir             = ../../CA 

改成絕對路徑: dir             = /etc/pki/CA 

Centos Apache基于openssl的https服務(wù)配置

5、mkdir certs crl newcerts

 touch index.txt

 echo 00 > serial  #設(shè)置序列號

web服務(wù)器配置(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" 前面加上#注釋,即取消中心主機(jī),開啟虛擬主機(jī)

4、vim /etc/httpd/conf.d/amd5.cn.conf添加下面內(nèi)容

    <VirtualHost 192.168.100.100:80>

        ServerAdmin admin@amd5.cn 

        DocumentRoot /www/html/amd5.cn/web

        ServerName amd5.cn

        Serveralias www.zhongjima.net

        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) #創(chuàng)建一對1024位長度的密鑰

9、openssl req -new -key amd5.key -out amd5.csr  #生成證書頒發(fā)請求(然后將請求傳送給CA服務(wù)器),此處填寫的信息要和前面CA生成自簽證書時(shí)候填寫的信息要一致,這里我沒有修改配置文件,所以手動填寫。

Centos Apache基于openssl的https服務(wù)配置

10、 scp amd5.csr root@192.168.100.200:/root/ #復(fù)制請求到CA認(rèn)證服務(wù)器

    遠(yuǎn)程到CA認(rèn)證服務(wù)器192.168.100.200然后執(zhí)行下面命令

    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:

    原因:是因?yàn)閟erial文件中沒有賦初值,即沒有執(zhí)行echo 00 > serial

Centos Apache基于openssl的https服務(wù)配置

11、scp root@192.168.100.200:/root/amd5.crt ./etc/httpd/ssl/  #下載簽署以后的證書到web服務(wù)器/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.zhongjima.net

     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端口是否被監(jiān)聽lsof -i:443

Centos Apache基于openssl的https服務(wù)配置

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.zhongjima.net

16、本地瀏覽器輸入http://www.zhongjima.net  訪問測試。

Centos Apache基于openssl的https服務(wù)配置

Centos Apache基于openssl的https服務(wù)配置

【騰訊云】云服務(wù)器、云數(shù)據(jù)庫、COS、CDN、短信等云產(chǎn)品特惠熱賣中

發(fā)表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: