HTTP实战
2021-06-04 07:01
标签:private 关闭 col 有效期 添加行 combine 保存 -o 资源 1.建立http服务,要求: (1)在服务器上安装httpd-2.4 (centos 7 默认为http-2.4 version) yum install -y httpd (httpd主程序) yum install -y httpd-tools (httpd测试工具) (2)创建相应目录及添加模块文件 a.创建相应目录 mkdir //web/vhosts/{www1,www2} -pv mkdir /var/log/httpd/{www1,www2} -pv b.添加mod_status.so 模块文件 vim /etc/httpd/conf.modules/oo-proxy.conf (该文件中定义了httpd动态模块) 行尾添加: LoadModule status_module modules/mod_status.so 保存退出 systemctl restart httpd 重启生效 httpd -M | grep status (检查模块是否装载) (3)按要求添加两个虚拟主机配置文件; a. www1.stuX.com 配置文件 vim /etc/httpd/conf.d/Virtual1.conf (创建虚拟主机1配置文件) b.www2.stuX.com 配置文件 vim /etc/httpd/conf.d/Virutal2.conf (创建虚拟主机2配置文件) (4) 创建用户文件并添加用户 htpasswd -c /etc/httpd/conf/.passwd tom (添加用户tom) 输入密码后用户信息自动保存至 .passwd文件 htpasswd /etc/httpd/conf/.passwd juerry (添加juerry 用户,注:-c选项为初次创建用户文件时使用,之后创建用户无需使用-c) (5)创建主页面文件; a.创建www1虚拟主机主页面文件 vim /web/vhosts/www1/index.html b.创建www2虚拟主机主页面文件 vim /web/vhosts/www2/index.html systemctl restart httpd 重启服务 systemctl stop firewalld 关闭防火墙 setenforce 0 关闭 selinux (6)在DNS服务器主机上添加虚拟主机域名解析区域; a.添加解析区域 vim /etc/named.rfc1912.zones (编辑区域配置文件) 尾部添加行: zone "stuX.com" IN { (添加 stuX.com解析区域) b.添加资源解析库文件 vim /var/named/stuX.com.zone (注意:文件名需与解析区域指定文件名一致) $TTL 3600 (7) 测试 http://www1.stuX.com http://www2.stuX.com 分别按需求访问2个虚拟主机,测试成功 2.为上面的2个虚拟主机提供https服务,使得用户可以通过https安全的访问此web站点; (1) 在httpd服务器端生成证书 cd /etc/pki/CA/ (umask 077;openssl genrsa -out private/cakey.pem 4096 (生成4096位私钥) openssl req -new -key private/cakey.pem -out httpd.csr -days 365 (生成证书,有效期365天) 按要求输入内容,注:server name 为 www2.stuX.com ,此项关键,必须与URL名称相同 scp httpd.csr root@192.168.8.16:/etc/pki/CA/ (将httpd服务器端生成的证书文件复制到CA服务器) (2)在CA服务器端签发证书 cd /etc/pki/CA/ (umask 077;openssl genrsa -out private/cakey.pem 4096 (生成4096位私钥) openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 365 按提示输入CA自签证书相关信息 为CA提供所需的目录及文件; openssl ca -in httpd.csr -out httpd.crt -days 365 (使用CA签署证书,有效期365天) openssl x509 -in httpd.crt -noout -serial -subject (查询签署后证书相关信息是否吻合) scp httpd.crt root@192.168.8.16:/etc/pki/CA/ (将签署好的证书文件复制给httpd服务器端) (3)在httpd服务器端安装mod_ssl模块及配置ssl相关信息 yum install mod_ssl yum info mod_ssl rpm -qi mod_ssl (查询ssl模块相关信息) vim /etc/httpd/conf.d/ssl.conf (修改ssl配置文件) DocumentRoot "/web/vhosts/www2" (设置ssl URL 映射目录) SSLCertificateFile /etc/pki/CA/httpd.crt (指定公钥文件地址) SSLCertificateKeyFile /etc/pki/CA/private/private.key (指定私钥文件地址) systemctl restart httpd 重启服务生效 (4)将CA服务器生成自签证书导入浏览器信任证书中 导入后测试: https://www2.stux.com 此处为火狐浏览器,测试成功 HTTP实战 标签:private 关闭 col 有效期 添加行 combine 保存 -o 资源 原文地址:https://www.cnblogs.com/qingfengguoke/p/12342024.html
(1)提供两个基于名称的虚拟主机:
www1.stuX.com,页面文件目录为/web/vhosts/www1;错误日志为/var/log/httpd/www1/error_log,访问日志为/var/log/httpd/www1/access_log
www2.stuX.com,页面文件目录为/web/vhosts/www2;错误日志为/var/log/httpd/www2/error_log,访问日志为/var/log/httpd/www2/access_log
(2)通过www1.stuX.com/server-status输出其状态信息,且要求只允许提供账号的用户访问;
(3)www1不允许192.168.1.0/24网络中的主机访问;
ServerName "www1.stuX.com" (定义虚拟主机服务名称)
DocumentRoot "/web/vhosts/www1" (定义URL路径映射目录)
options Indexes FollowSymLinks
AllowOverride None
Require all granted
ErrorLog /var/log/httpd/www1/error_log (定义该虚拟主机错误日志文件存放位置)
CustomLog /var/log/httpd/www1/access_log combined (定义该虚拟主机访问日志存放位置以及日志格式)
SetHandler server-status
AuthType Basic (定义认证类型)
AuthName "please give username and passwd for status Page" (定义认证返回字符串)
AuthUserFile "/etc/httpd/conf/.passwd" (定义用户文件保存位置)
Require user tom juerry (定义允许访问server-status页面的用户,此处允许 tom ,juerry访问)
ServerName www2.stuX.com (定义虚拟主机2服务域名)
DocumentRoot "/web/vhosts/www2" (定义URL路径映射目录)
ErrorLog /var/log/httpd/www2/error_log (定义错误日志文件位置)
CustomLog /var/log/httpd/www2/access_log combined (定义访问日志文件位置及日志文件格式)
options Indexes FollowSymLinks
AllowOverride None
Require not ip 192.168.1.0/24 (定义拒绝 192.168.1.0/24 网段访问)
Require all granted (允许所有访问,一般拒绝访问在前,允许所有访问在后的方式定义访问条件)
This is httpd-2.4 Page
this is www1.stuX.com Test Page
This is httpd-2.4 Page
This is www2.stuX.com Test Page
type master; (定义区域类型,master为主服务器)
file "stuX.com.zone"; (定义区域资源解析库文件名)
};
$ORIGIN stuX.com.
@ IN SOA ns1.stuX.com. admin.stuX.com. (
10 (定义初始序列号,注:每次修改解析库文件将序列号+1,便于从服务器同步)
2H (定义刷新时间间隔)
10M (定义重传时间间隔)
1W (定义过期时间间隔)
1D (定义否定答案在客户端缓存时间)
)
@ IN NS ns1.stuX.com.
ns1 IN A 192.168.8.16
www1 IN A 192.168.8.16
www2 IN A 92.168.8.16
(1)要求使用证书认证,证书中要求使用国家(CN),州(Beijing),城市(Beijing),组织为(MageEdu);
(2)设置部门为Ops,主机名为www2.stuX.com;
]# mkdir -pv /etc/pki/CA/{certs,crl,newcerts}
]# touch /etc/pki/CA/{serial,index.txt}
]# ECHO 01 > /etc/pki/CA/serial
ServerName www1.stuX.com:443 (设置SSL服务域名与端口)
options Indexes FollowSymLinks
AllowOverride None
Require all granted