• 此篇博客将根据以下四大模块来对HTTP协议在Linux,即Red Hat7.2版本下的配置进行详细的解释

一、配置文件的位置
二、CA证书
三、虚拟目录
四、用户控制

一、配置文件的位置

Httpd的主配置文件: /etc/httpd/conf/httpd.conf

SSL的主配置文件: /etc/httpd/conf.d/ssl.conf

虚拟主机配置文件:/etc/httpd/conf.d/vhosts.conf

Linux的操作系统的域名解析: /etc/hosts

密钥对文件:/etc/pki/tls/certs

制作证书: make xxxx.crt

创建文件 mkdir /www/{100,200} –pv

文件权限:

< Directory />
AllowOverride none
Require all denied
</ Directory>

错误日志:

ErrorLog
“/var/log/httpd/dummy-host2.example.com-error_log”

CustomLog
“/var/log/httpd/dummy-host2.example.com-access_log” common

二、CA证书(Https 443端口)

1.创建证书

在默认文件下直接可以用make来制作证书文件,当然也可以自己定义证书路径,但是就需要用open ssl来书写,较为麻烦。

2. 证书文件

创建完成后会在/etc/pki/tls/certs下生成两个两个用于认证的证书文件。

3.更改虚拟主机文件的认证访问目录

1)在主配置文件中,将以下用于SSL认证的命令复制到虚拟主机文件目录内

SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

a)更改成以下这种形式

b)将原本生成的在 /etc/pki/tls/certs 下的xixi.key 复制到/etc/pki/tls/private下

a、b操作的目的是为了让虚拟主机中的证书文件匹配到相对应的文件,即虚拟主机中写的是目录(类似于IP层的OSPF协议中的LSDB链路状态数据库),要匹配到对应的文件就要在目录下有相对应的文件,以上是展示了两种写法

2)编写虚拟主机文件,在IP地址后面跟上443端口

三、虚拟目录

说明:
主机域名的别名用ServerAlias指定,虚拟目录的别名用Alias指定,Alias后的虚拟目录是 /www/yichen下的openlab 访问这个目录实际上访问的是/ggg/openlab下的index.html 要注意ggg文件可能没有权限,所以要有允许覆盖的权限

目的:
某个网站登录后(输入了用户名与密码),其内部的某些目录就不再需要登录用户名与密码了。

四、用户控制

1.编写虚拟主机文件

具体步骤:
设置登陆类型为基本类型(账号)
网站提示登录的信息
将用户的基本信息(密码)存入到etc/httpd/users中
允许xixi haha 用户请求登录

2.创建用户

第一次创建需要添加-c选项

3.测试

这时,如果访问的是https://192.168.1.100/openlab/的话,因为虚拟目录的真实路径是/ggg/openlab,这个目录是有权限的,所以不用输入账号密码。