2. HTTPS 服务器搭建(综合实验)
HTTPS 服务器搭建(综合实验)
环境介绍
A 机器:CA 服务器,DNS 服务器,192.168.X.120,域名为 dns.xiandai.com
B 机器:WEB 服务器,域名为 www.xiandai.com,192.168.x.121,DNS 指向 A 机器
环境准备
配置 IP 地址
A 机器(CA 服务器,DNS 服务器)
-
编辑网络配置文件
vi /etc/sysconfig/network-scripts/ifcfg-eth0 # 根据实际网卡名修改 -
配置静态 IP 地址
TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=eth0 DEVICE=eth0 ONBOOT=yes IPADDR=192.168.X.120 NETMASK=255.255.255.0 GATEWAY=192.168.X.1 # 根据实际网关填写 DNS1=192.168.X.120 -
重启网络服务
systemctl restart network
B 机器(WEB 服务器)
-
编辑网络配置文件
vi /etc/sysconfig/network-scripts/ifcfg-eth0 # 根据实际网卡名修改 -
配置静态 IP 地址
TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=eth0 DEVICE=eth0 ONBOOT=yes IPADDR=192.168.X.121 NETMASK=255.255.255.0 GATEWAY=192.168.X.1 # 根据实际网关填写 DNS1=192.168.X.120 -
重启网络服务
systemctl restart network
挂载光盘,并配置 yum 源为本地磁盘
A 机器和 B 机器都需要执行以下操作
-
挂载光盘
mount /dev/cdrom /mnt -
配置源文件
vi /etc/yum.repos.d/CentOS-Base.repo输入以下内容:
[Base] name=Local Repo baseurl=file:///mnt gpgcheck=0
关闭防火墙
A 机器和 B 机器都需要执行以下操作
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
配置 DNS 服务(在 A 机器上操作)
安装 Bind 软件
yum install -y bind bind-utils
配置主配置文件
vi /etc/named.conf
修改以下内容:
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
zone "xiandai.com" IN {
type master;
file "xiandai.com.zone";
allow-update { none; };
};
创建区域文件
vi /var/named/xiandai.com.zone
输入以下内容:
$TTL 86400
@ IN SOA dns.xiandai.com. admin.xiandai.com. (
2025022201 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Minimum
IN NS dns.xiandai.com.
dns IN A 192.168.X.120
www IN A 192.168.X.121
修改文件权限
chown named:named /var/named/xiandai.com.zone
启动并设置开机自启
systemctl start named
systemctl enable named
配置 CA 服务,为 B 机器申请证书
在 A 机器上配置 CA 服务
yum install openssl openssl-devel
创建 CA 工作目录
cd /etc/pki/CA
touch index.txt
echo 1000 > serial
生成 CA 私钥
openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048
chmod 400 /etc/pki/CA/private/cakey.pem
生成 CA 自签名证书
openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650
在填写信息时,注意通用名称(Common Name)可以填写 xiandai.com。
在 B 机器上生成私钥和证书签名请求(CSR)
yum install openssl openssl-devel
mkdir -p /etc/httpd/ssl
cd /etc/httpd/ssl
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr
在填写信息时,通用名称(Common Name)填写 www.xiandai.com。
将 CSR 文件从 B 机器复制到 A 机器
可以使用 scp 命令:
scp /etc/httpd/ssl/server.csr root@192.168.X.120:/root
在 A 机器上使用 CA 签署 CSR
openssl ca -in /root/server.csr -out /root/server.crt -days 365
将签署好的证书从 A 机器复制回 B 机器
scp /root/server.crt root@192.168.X.121:/etc/httpd/ssl
# 在 A 机器上执行以下命令
scp /etc/pki/CA/cacert.pem root@192.168.X.121:/etc/httpd/ssl/
配置 WEB 服务(在 B 机器上操作)
安装 Apache 服务
yum install -y httpd mod_ssl
配置 Apache 支持 HTTPS
vi /etc/httpd/conf.d/ssl.conf
修改以下内容:
<VirtualHost _default_:443>
ServerName www.xiandai.com:443
DocumentRoot "/var/www/html"
SSLCertificateFile /etc/httpd/ssl/server.crt
SSLCertificateKeyFile /etc/httpd/ssl/server.key
SSLCACertificateFile /etc/httpd/ssl/cacert.pem
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLHonorCipherOrder on
</VirtualHost>
启动并设置开机自启
systemctl start httpd
systemctl enable httpd
测试
在浏览器中输入 https://www.xiandai.com,如果能正常访问,说明 HTTPS 服务器搭建成功。由于使用的是自签名证书,浏览器可能会提示证书不受信任,在测试环境中可以忽略该提示。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 现代职校董良
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果