实例讲解httpd虚拟主机的配置以及https的配置

要求:

1.建立httpd服务器,要求:

提供两个基于名称的虚拟主机:

(a)www1.stuX.com,页面文件目录为/web/vhosts/www1;错误日志

为/var/log/httpd/www1.err,访问日志为/var/log/httpd/www1.access

(b)www2.stuX.com,页面文件目录为/web/vhosts/www2;错误日志

为/var/log/httpd/www2.err,访问日志为/var/log/httpd/www2.access

(c)为两个虚拟主机建立各自的主页文件/index.html,内容分别为其对应的主机名

(d)通过www1.stuX.com/server-status输出httpd工作状态相关信息,且只允许提供账

号密码才能访问(status:status)

2.为上面的第2个虚拟主机提供https服务,使得用户可以通过https安全的访问此web站点:

(1)要求使用证书认证,证书中要求使用的国家(CN),州(Henan),城市(Zhengzhou)和组

织(MageEdu);

(2)设置部门为tech,主机名为www2.stuX.com,邮箱为[email protected]

具体实现步骤:

一.

1)创建需要的目录文件

   mkdir -pv /web/vhosts/www{1,2}
   mkdir /var/log/httpd
   cd /var/log/httpd
   touch www{1,2}.{err,access}

2)建立主页文件,并分别向里面写入其对应的内容

/web/vhosts/www1/index.html内容如下:

 <h1>www1.stuX.com</h1>

/web/vhosts/www2/index.html内容如下:

 <h1>www2.stuX.com</h2>

3)配置/etc/httpd/conf/httpd.conf,内容如下:

NameVirtualhost 192.168.1.179:80
<VirtualHost 192.168.1.179:80>
Servername www1.stuX.com
DocumentRoot "/web/vhosts/www1"
ErrorLog /var/log/httpd/www1.err
CustomLog /var/log/httpd/www1.access combined
<Directory "/web/vhosts/www1">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Location /server-status>
SetHandler server-status
Order deny,allow
Allow from all
</Location>
<Directory /server-status>
Options None
AllowOverride None
AuthType basic
AuthName "Admin Area"
AuthUserFile /etc/httpd/users/.htpasswd
 require user status
</Directory>
</VirtualHost>
<VirtualHost 192.168.1.179:80>
Servername www2.stuX.com
DocumentRoot "/web/vhosts/www2"
ErrorLog /var/log/httpd/www2.err
CustomLog /var/log/httpd/www2.access combined
</VirtualHost>

二.

1)建立私有cA

  cd /etc/pki/CA
 (umask 077; openssl genrsa -out pirvate/cakey.pem 2048) #生成私有CA
 openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 2655 #生成自签证书
    echo 01 > serial
    touch index.txt

2)为服务器生成证书

cd /etc/httpd/
mkdir certs
cd certs
(umask 077;openssl genrsa -out httpd.key 2048) #生成私钥 
openssl req -new -key httpd.key -out httpd.csr -days 3655 #生成证书签署请求:  
openssl ca -in httpd.csr -out httpd.crt -days 3655

(3)配置httpd使用数字证书

注意:ssl会话只能基于IP创建,这意味着如果服务器仅有一个IP,那么仅为一个虚拟主机提供https服务

 yum list mod_ssl
  cd ../conf.d/
  vim ssl.conf
  <VirtualHost _default_:443>
  DocumentRoot "/www/sslhost"
  ServerNmae www.magesu.com:443
 SSLCertificateFile /etc/httpd/certs/httpd.crt # 证书
SSLCertificateKeyFile /etc/httpd/certs/httpd.key#秘钥

导入/etc/pki/CA/cacert.pem 改为cacert

验证: openssl s_client -connect 192.1:443

openssl s_client -connect 192.1:443 -CAfile /etc/pki/CA/cecert.pem

openssl s_client -connect www.mageu.com -CAfile /etc/pki/CA/cecert.pem

GET /index.html HTTP/1.1

Host:192.168.1.179

时间: 2024-08-29 13:21:52

实例讲解httpd虚拟主机的配置以及https的配置的相关文章

httpd服务之虚拟主机、访问控制、https配置详解

前言 上文讲解了http协议及httpd的一些特性,是学习web服务需要掌握的一些基础知识,接下来让我们进一步了解httpd相关功能的配置,本文讲解的是虚拟主机,访问控制及https等功能的配置. httpd之虚拟主机 虚拟主机共分为三种模式:基于IP.基于端口.基于主机名(FQDN) 实验环境介绍 开始之前,先介绍一下httpd在CentOS6.6版本及文件: 版本:      httpd-2.2.15(CentOS7升级为2.4系列) 配置文件:         /etc/httpd/con

httpd虚拟主机配置及基于用户的访问控制

本文旨在实践httpd虚拟主机及基于用户的访问控制 知识储备 虚拟主机有三种实现方案: 基于ip: 为每个虚拟主机准备至少一个独有ip地址: 基于port: 为每个虚拟主机使用至少一个独有的port: 基于FQDN: 为每个虚拟主机使用至少一个FQDN: 注意:一般虚拟机不要与中心主机混用:因此,要使用虚拟主机,得先禁用'main'主机: 禁用方法:注释中心主机的DocumentRoot指令即可: 基于用户的访问控制: http协议认证方式2种 basic:明文 digest:消息摘要认证 本次

web服务之httpd虚拟主机配置你造吗?

一.httpd虚拟主机的分类 1.基于ip地址的虚拟主机 2.基于端口的虚拟主机 3.基于域名的虚拟主机 二.配置虚拟主机 实验环境:centos6,使用Yum安装的httpd服务 准备工作:注释中心主机的DocumentRoot站点根目录,创建/etc/httpd/conf.d/vhosts.conf配置文件,创建实验需的站点目录: mkdir -pv /www/{a.com,b.net,c.org}/htdocs,每次修改配合文件时检查语法:httpd -t   重启服务:service h

httpd虚拟主机和https实现

如果你的网站访问量不是非常大,很轻量级,那么单独放在一台服务器上对服务器来说是一种浪费,电费也会很多,所以有了虚拟主机这个问题就可以解决了,虚拟主机可以实现一台主机维护多个网站. 有三种实现方案:    基于ip:为每个虚拟主机准备至少一个ip地址:    基于port:为每个虚拟主机准备至少一个专用port:实践中很少使用:    基于hostname:为每个虚拟主机准备至少一个专用hostname:    可混合使用上述三种方式中任意方式: 注意:一般虚拟主机莫与中心主机混用,所以,要使用虚

nginx学习笔记之基于端口的虚拟主机基于主机名的虚拟主机root、alias、index配置

nginx学习笔记之基于端口的虚拟主机基于主机名的虚拟主机root.alias.index配置 实验环境: centos 测试节点IP:172.16.3.101 基于端口的虚拟主机: vim /etc/nginx/nginx.conf # 向里面的http {}里面加入如下内容   server { # server定义一个虚拟主机         listen 8080; # 监听本机所有IP端口8080         server_name www.test.com; # 虚拟主机名为:w

CentOS7配置httpd虚拟主机

本实验旨在CentOS7系统中,httpd-2.4配置两台虚拟主机,主要有以下要求: (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,访问日志为

apache httpd 虚拟主机配置(基于centos 7)

虚拟主机--在一台www服务器上运行多个网站 前提条件 正确安装httpd 主机IP:192.168.0.225 防火墙关闭(或者已经开放相应端口) 分别在www目录下新建两个目录:mkdir god.com hell.com,并分别在god.com和hell.com的目录下新建index.html文件如下 god.com目录下的index.html <html> <head>hell</head> <br></br> <body>

httpd 虚拟主机建立之访问机制及其日志定义

注:关闭防火墙,selinux VirtualHost定义: 基于IP地址VirtualHost: 编辑httpd.conf文件: #DocumentRoot "/web/html"                 #注释主服务配置 下面来建立虚拟主机,如果不在httpd.conf文件内编辑虚拟主机,也可以新建一个虚拟主机文件来工作. 在/etc/httpd/conf.d/下新建虚拟主机配置文件 vim /etc/httpd/conf.d/virtualhost.conf 编辑 <

运维学习之Apache的配置、访问控制、虚拟主机和加密访问https

apache 一.安装Apache服务 yum install httpd -y systemctl start httpd systemctl stop firewalld systemctl enable httpd systemctl disable firewalld 二.apache信息 1.apache的默认发布文件 index.html 在默认发布文件内写入要展示的内容,在浏览器中输入本机http://172.25.254.126可以看到内容 2.apache的配置文件 /etc/