阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 6下Apache的https虚拟主机实践

375次阅读
没有评论

共计 4758 个字符,预计需要花费 12 分钟才能阅读完成。

题目:
1、建立 httpd 服务器,要求:
提供两个基于名称的虚拟主机:
(a)www1.linuxidc.com,页面文件目录为 /web/vhosts/www1;错误日志为 /var/log/httpd/www1.err,访问日志为 /var/log/httpd/www1.access;
(b)www2.linuxidc.com,页面文件目录为 /web/vhosts/www2;错误日志为 /var/log/httpd/www2.err,访问日志为 /var/log/httpd/www2.access;
(c)为两个虚拟主机建立各自的主页文件 index.html,内容分别为其对应的主机名;
(d)通过 www1.linuxidc.com/server-status 输出 httpd 工作状态相关信息,且只允许提供帐号密码才能访问(status:status);

2、为上面的第 2 个虚拟主机提供 https 服务,使得用户可以通过 https 安全的访问此 web 站点;
(1)要求使用证书认证,证书中要求使用的国家 (CN)、州(Beijing)、城市(Beijing) 和组织 (Quintin Ltd);
(2) 设置部门为 Ops,主机名为 www2.linuxidc.com,邮件为 admin@linuxidc.com;

===============================================================================

准备环境与材料:
CentOS 6 两部 (一部也可以)
Apache 2.2
使用域名 linuxidc.com

1. 建立 httpd 服务器

创建所需文件夹:
# mkdir -p /web/vhosts/www{1,2}

(a)、(b)

因为服务器自带 httpd, 无需安装
所以直接编辑 httpd 配置文件:httpd.conf
# vim /etc/httpd/conf/httpd.conf

注释掉:
DocumentRoot

取消注释:
#NameVirtualHost *:80

修改:
ServerName localhost:80

在底部添加以下虚拟主机配置
<VirtualHost *:80>
ServerAdmin admin@linuxidc.com
DocumentRoot /web/vhosts/www1
ServerName www1.linuxidc.com
ErrorLog logs/www1.err
CustomLog logs/www1.access combined
</VirtualHost>

<Directory /web/vhosts/www1>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

<VirtualHost *:80>
ServerAdmin admin@linuxidc.com
DocumentRoot /web/vhosts/www2
ServerName www2.linuxidc.com
ErrorLog logs/www2.err
CustomLog logs/www2.access combined
</VirtualHost>

<Directory /web/vhosts/www2>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

配置好后发现
Apache 403 error, (13)Permission denied: access to / denied 问题
检查了一圈 httpd.conf 和目录权限,均没有发现问题。
发现是因为系统启动了 SELINUX 导致的。

临时关闭 SELINUX
setenforce 0

永久关闭
vim /etc/selinux/config
修改
SELINUX=enforcing
改成
SELINUX=disabled

(c)

在 www1 和 www2 中分别新建 index.html, 内容分别为 www1.linuxidc.com 和 www2.linuxidc.com
# vim /web/vhosts/www1/index.html
# vim /web/vhosts/www2/index.html

(d)

创建一个访问账户, 按提示操作
# htpasswd -c /etc/httpd/conf.d/.htpasswd webadmin

修改 httpd.conf, 加入
<Location /server-status>
AuthType Basic
AuthName “Administrator privateeee”
AuthUserFile “/etc/httpd/conf.d/.htpasswd”
Require user “webadmin”
SetHandler server-status
Order deny,allow
Deny from all
Allow from 192.168.3.3
</Location>

 

2. 将 www2.linuxidc.com 设置为 https

需要使用 OpenSSL 生成自签名证书, 确保 OpenSSL 已安装.
# httpd -M | grep ssl
如果没有则安装
# yum install mod_ssl openssl

在 CentOS A 服务器上配置 CA 服务, 再给当前服务器 (CentOS B) 的 https 颁发证书.

CentOS A:

初始化 CA 服务, 创建所需要的文件(/etc/pki/CA/)
# touch index.txt 创建索引文件
# echo 01 > serial 创建序列号文件

CA 自签证书
生成私钥
# (umask 077; 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

CentOS B:

# mkdir /etc/httpd/ssl
# cd /etc/httpd/ssl
生成秘钥
# (umask 007;openssl genrsa -out httpd.key 1024)
生成请求文件
# openssl req -new -key httpd.key -out httpd.csr

Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Beijing
Locality Name (eg, city) [Default City]:Beijing
Organization Name (eg, company) [Default Company Ltd]:Quintin Ltd
Organizational Unit Name (eg, section) []:Ops
Common Name (eg, your name or your server’s hostname) []:www2.linuxidc.com
Email Address []:admin@linuxidc.com

把生成的文件发送到 CA 服务器 CentOS A:
# scp httpd.csr root@192.168.3.67:/tmp/

回到 CentOS A:

签署
# openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/www2.linuxidc.com.crt -days 365
将生成的 crt 传回 CentOS B
# scp /etc/pki/CA/certs/www2.linuxidc.com.crt root@192.168.3.60:/etc/httpd/ssl/

回到 CentOS B:

配置 httpd 的 ssl 配置(ssl.conf):

# cd /etc/httpd/conf.d/
备份
# cp ssl.conf{,.bak}

编辑 ssl.conf

修改
<VirtualHost _default_:443>

<VirtualHost *:443>

DocumentRoot “/web/vhosts/www2”
ServerName www2.linuxidc.com

证书位置
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
=>
SSLCertificateFile /etc/httpd/ssl/www2.linuxidc.com.crt

私钥位置
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
=>
SSLCertificateKeyFile /etc/httpd/ssl/httpd.key

配置完毕检查配置文件语法错误:
# httpd -t

重启 httpd:
# service httpd restart

查看 443 端口是否已开启:
ss -tnl

使用 s_client 在 CentOS A 上做测试:
# openssl s_client -connect 192.168.3.60:443 -CAfile /etc/pki/CA/cacert.pem

GET / HTTP/1.1
Host: www2.linuxidc.com

HTTP/1.1 200 OK
Date: Wed, 05 Oct 2016 11:20:16 GMT
Server: Apache/2.2.15 (CentOS)
Last-Modified: Fri, 30 Sep 2016 13:33:02 GMT
ETag: “bf4e8-21-53db9a230598a”
Accept-Ranges: bytes
Content-Length: 33
Connection: close
Content-Type: text/html; charset=UTF-8

www2.linuxidc.com</br>
welcome!

测试成功!

去浏览器访问格式:
https://www2.linuxidc.com

Ubuntu Server 14.04 安装 Web 服务器(Linux+Apache+MySQL+PHP)  http://www.linuxidc.com/Linux/2015-06/119061.htm

Linux 下安装配置 PHP 环境(Apache2)  http://www.linuxidc.com/Linux/2015-05/118062.htm

Linux 下 Apache 服务器配置  http://www.linuxidc.com/Linux/2016-06/132025.htm

Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

CentOS 5.9 下编译安装 LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12) http://www.linuxidc.com/Linux/2013-03/80333p3.htm

Linux 下 Apache 服务器配置 http://www.linuxidc.com/Linux/2016-10/136517.htm

Linux 下 Apache 虚拟主机的配置  http://www.linuxidc.com/Linux/2016-04/130381.htm

Ubuntu 下 Apache 的安装与配置 http://www.linuxidc.com/Linux/2016-11/136841.htm

Apache 的详细介绍:请点这里
Apache 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-11/137210.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4758字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7996129
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
飞牛NAS玩转Frpc并且配置,随时随地直连你的私有云

飞牛NAS玩转Frpc并且配置,随时随地直连你的私有云

飞牛 NAS 玩转 Frpc 并且配置,随时随地直连你的私有云 大家好,我是星哥,最近在玩飞牛 NAS。 在数...
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
在Windows系统中通过VMware安装苹果macOS15

在Windows系统中通过VMware安装苹果macOS15

在 Windows 系统中通过 VMware 安装苹果 macOS15 许多开发者和爱好者希望在 Window...
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...