1. 程式人生 > >httpd2.2實現虛擬主機+證書認證+DNS

httpd2.2實現虛擬主機+證書認證+DNS

httpd2.2 ca dns

httpd2.2實現虛擬主機+證書認證+DNS

目的:

1、 在一臺虛擬機上安裝httpd2.2,在上面提供兩個基於名稱的虛擬主機:

(1)www.X.com,頁面文件目錄為/web/vhosts/x;錯誤日誌為/var/log/httpd/x.err,訪問日誌為/var/log/httpd/x.access;
(2)www.Y.com,頁面文件目錄為/web/vhosts/y;錯誤日誌為/var/log/httpd/y.err,訪問日誌為/var/log/httpd/y.access;
(3)為兩個虛擬主機建立各自的主頁文件index.html,內容分別為其對應的主機名;
(4)通過www.X.com/server-status輸出httpd工作狀態相關信息;

2、為上面的第2個虛擬主機提供https服務,使用戶可以通過https安全訪問此web站點

3、另一臺虛擬機上搭建DNS,提供www.X.com和www.Y.com 域名解析

4、搭建CA做證書認證

提示:httpd服務為一臺虛擬機,CA認證和DNS為另一臺虛擬機


環境:

httpd服務器虛擬機:

系統:CentOS6.9

IP:172.18.76.161

目的:實現目的1、2

網絡連接方式:橋接(可以使用僅主機)

地址段:和本機一致

防火墻、SElinux:關閉(命令:server iptables stop;setenforce 0)

CA、DNS服務器虛擬機:

系統:CentOS6.9

IP:172.18.76.4

目的:實現目的3、4

網絡連接方式:橋接(可以使用僅主機)

地址段:和本機一致

防火墻、SElinux:關閉(命令:server iptables stop;setenforce 0)

本機:

目的:測試實驗是否成功

實驗步驟:

1、搭建DNS

(1)安裝DNS:yum install bind

(2)編輯配置文件/etc/named.conf

技術分享

(3)編輯配置文件/etc/named.rfc1912.zones

技術分享

(4)在/var/named/下創建a.com.zone和b.com.zone文件

技術分享

a.com.zone

技術分享

b.com.zone

(5)開啟DNS服務,命令:server named start,

(6)測試DNS,命令:dig www.a.com ; dig www.b.com

技術分享

2、安裝和配置httpd2.2

(1)安裝httpd;命令:yum install httpd

(2)配置兩臺虛擬主機

先註釋掉主配置文件指向的目錄,主配置文件:/etc/httpd/conf/httpd.conf

技術分享

在/etc/httpd/conf.d/目錄下建自己的配置文件myhttpd.conf

命令:vim /etc/httpd/conf.d/myhttpd.conf

技術分享

myhttpd.conf代碼:

1 NameVirtualHost *:80
2 <VirtualHost *:80>
3 DocumentRoot /web/vhosts/x
4 ServerName www.a.com
5 ErrorLog /var/log/httpd/x.err
6 CustomLog /var/log/httpd/x.access common
7 <Location /server-status>
8 SetHandler server-status
9 </Location>
10 </VirtualHost>
11 <VirtualHost *:80>
12 DocumentRoot /web/vhosts/y
13 ServerName www.b.com
14 ErrorLog /var/log/httpd/y.err
15 CustomLog /var/log/httpd/y.access common
16 </VirtualHost>

(3)準備相應的目錄和文件

技術分享


(4)重啟httpd服務,命令:server httpd restart;這時我們的網站可以正常訪問了,如果用本機測試要讓本機的DNS指向我們自己的DNS服務器,剛剛搭建的DNS的IP:172.18.76.4

技術分享

(5)瀏覽器輸入地址測試

技術分享

技術分享

現在是用的http://訪問沒問題,但用httpds訪問會提示這個鏈接不安全

3 安裝mod_ssl和搭建CA

(1)在httpd服務機器上安裝mod_ssl;命令:yum -y install mod_ssl

(2)在另一臺虛擬機上搭建CA

創建所需要的文件:
touch /etc/pki/CA/index.txt 生成證書索引數據庫文件
echo 01 > /etc/pki/CA/serial 指定第一個頒發證書的序列號
生成私鑰:
cd /etc/pki/CA/
(umask 066; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)

生成自簽名證書:
openssl req -new -x509 –key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem

技術分享

(3)在httpd服務器生成私鑰:
(umask 066; openssl genrsa -out /etc/pki/tls/private/httpd.key 2048)
(4)生成證書申請文件:
openssl req -new -key /etc/pki/tls/private/httpd.key -days 365 -out /etc/pki/tls/httpd.csr

技術分享


將生成的申請文件傳給CA服務器

scp /etc/pki/tls/httpd.csr [email protected]:

(5)CA簽署證書,並將證書頒發給請求者
openssl ca -in httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365

scp /etc/pki/CA/certs/httpd.crt [email protected]:/etc/pki/tls/certs/

將根證書也給httpd服務器

scp /etc/pki/CA/cacert.pem [email protected]:/etc/pki/tls/certs/

(6)在httpd服務器上配置文件:/etc/httpd/conf.d/ssl.conf

技術分享

技術分享

技術分享

重啟httpd服務

(7)本機瀏覽器安裝證書

這裏配置了網站證書路徑和CA證書路徑,所以瀏覽器支持直接安裝證書,直接安裝就可以了,如果不能就可以選擇手動導入根證書。

在導入證書前要先將根證書(cacert.pem)傳到桌面上,然後修改後綴為.crt。

技術分享

點擊設置,裏面有個Internet選項


技術分享


技術分享

技術分享

技術分享

到此,實驗成功結束。







本文出自 “Linux” 博客,請務必保留此出處http://13139261.blog.51cto.com/13129261/1969718

httpd2.2實現虛擬主機+證書認證+DNS