您的位置:首页 > 理论基础 > 计算机网络

httpd2.2实现虚拟主机+证书认证+DNS

2017-09-29 14:42 531 查看
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 root@172.18.76.4:

(5)CA签署证书,并将证书颁发给请求者
openssl ca -in httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365
scp /etc/pki/CA/certs/httpd.crt root@172.18.76.161:/etc/pki/tls/certs/
将根证书也给httpd服务器

scp /etc/pki/CA/cacert.pem root@172.18.76.161:/etc/pki/tls/certs/

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











重启httpd服务

(7)本机浏览器安装证书
这里配置了网站证书路径和CA证书路径,所以浏览器支持直接安装证书,直接安装就可以了,如果不能就可以选择手动导入根证书。
在导入证书前要先将根证书(cacert.pem)传到桌面上,然后修改后缀为.crt。




点击设置,里面有个Internet选项













到此,实验成功结束。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  DNS CA httpd