博客作业:分别使用httpd-2.2和httpd-2.4实现

1、建立httpd服务,要求:

(1) 提供两个基于名称的虚拟主机www1, www2;有单独的错误日志和访问日志;

(2) 通过www1的/server-status提供状态信息,且仅允许tom用户访问;

(3) www2不允许192.168.0.0/24网络中任意主机访问;

2、为上面的第2个虚拟主机提供https服务;

前提准备:

172.16.1.1测试httpd-2.4,这是centos7系统

172.16.1.2测试httpd-2.2,这是centos6系统

172.16.1.3作为CA服务器,为其他两个主机派发证书

暂时关闭selinux和iptables

生成私钥CA服务器自己的私钥,准备给自己做个根证书

[root@haizei ~]# cd /etc/pki/CA

[root@haizei CA]# (umask 077;openssl genrsa 2048 > private/cakey.pem

cakey.pem为CA服务的自己的私钥

##因为这里是建立私有CA,同一个机构,国家,省,组织 ,所以为了后续给自己签证方便,这里需要修改

[root@haizei CA]# vim /etc/pki/tls/openssl.cnf

country Name_default = CN

StateOrprovinceName_default = Beijing

LocatityName_default = Shangdi

0.organizationName_default = M19

organizationUnitName = Jishu

生成自签证书(根CA)

[root@haizei CA]# openssl req -new -x509 /etc/pki/CA/private/cakey.pem -days 3650 -out /etc/pki/CA/cacert.pem

Common Name (eg, your name or your server's hostname) []:haizei.zou.com   这里需要自己定义自己的主机名,最好与主机名或者可以解析的域名一致

准备好做CA服务器的数据库等文件

[root@haizei CA]# mkdir -p /etc/pki/CA/{certs,crl,newcerts}

[root@haizei CA]# touch /etc/pki/CA/{serial,index.txt}

[root@haizei CA]# echo 001 > /etc/pki/CA/serial


httpd2.2基础上面(Centos6)

生成自己的私钥和证书文件,传送给根服务器验证

[root@zou www2]# mkdir /etc/httpd/conf/.ssh

[root@zou www2]# cd /etc/httpd/conf/.ssh

[root@zou .ssh]# (umask 077;openssl genrsa 4096 > http.key)

[root@zou .ssh]# openssl req -new -key http.key -out httpd.csr

跟服务器签发证书,并把证书发送回来

[root@haizei~]# openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365

[root@haizei~]# scp /etc/pki/CA/certs/httpd.crt root@172.16.1.2:/etc/httpd/conf/.ssh

修改主配置文件支持基于FQDN的主机名

[root@zou ~]# vim /etc/httpd/conf/httpd.conf

NameVirtualHost 172.16.1.2:80

配置httpd支持ssl

~]# yum -y install mod_ssl

为虚部主机2进程配置设置

[root@zou www2]# vim /etc/httpd/conf/ssl.conf

<VirtualHost _default_:443>

ServerName www2.zou.com

DocumentRoot /data/vhosts/www2

ErrorLog logs/ssl_www2-error_log

LogLevel warn

TransferLog logs/ssl_www2_access_log

SSLCertificateFile /etc/httpd/conf/.ssh/httpd.crt

SSLCertificateKeyFile /etc/httpd/conf/.ssh/http.key

</VirtualHost>

<Directory /data/vhosts/www2>

Options None

AllowOverride None

Order deny,allow

Deny from 192.168.0.0/24

</Directory>

为虚拟主机1进行配置设置

[root@zou www2]# vim /etc/httpd/conf.d/www1.conf

<VirtualHost 172.16.1.2:80>

ServerName www1.zou.com

DocumentRoot /data/vhosts/www1

ErrorLog logs/www1-error_log

LogLevel warn

CustomLog logs/www1-access_log combined

<Directory /data/vhosts/www1>

Options None

AllowOverride None

Order allow,deny

Allow from all

</Directory>

</VirtualHost>

<Location /server-status>

SetHandler server-status

Order deny,allow

Allow from all

AuthType Basic

AuthName "Server-stauts"

AuthBasicProvider file

AuthUserFile "/etc/httpd/conf/.htpasswd"

Require user tom

</Location>

为tom用户认证做准备

[root@zou www2]# htpasswd -c -m /etc/httpd/conf/.htpasswd tom

重启服务

~]# service httpd restart

httpd2.4(Centos7版本上)

生成自己的私钥和证书文件,传送给根服务器验证

[root@zzy www2]# mkdir /etc/httpd/conf/.ssh

[root@zzy www2]# cd /etc/httpd/conf/.ssh

[root@zzy .ssh]# (umask 077;openssl genrsa 4096 > http.key)

[root@zzy .ssh]# openssl req -new -key http.key -out httpd.csr

Common Name (eg, your name or your server's hostname) []:www2.zou.com

[root@zzy .ssh]# scp httpd.csr root@172.16.1.3:/mnt

跟服务器签发证书,并把证书发送回来

[root@haizei ~]# openssl ca -in /mnt/httpd.csr -out /etc/pki/CA/certs/httpd002.crt

[root@haizei ~]# scp /etc/pki/CA/certs/httpd002.crt root@172.16.1.1:/etc/httpd/conf/.ssh

回到web服务器上面来

[root@zzy ~]# cd /etc/httpd/conf/.ssh;cp httpd002.crt httpd.crt

安装支持ssl的http模块

[root@zzy ~]# yum install mod_ssl -y

配置虚拟主机1

[root@zzy ~]# vim /etc/httpd/conf.d/ssl.conf

<VirtualHost _default_:443>

ServerName www2.zou.com

DocumentRoot /data/vhosts/www2

ErrorLog logs/ssl_www2-error_log

LogLevel warn

TransferLog logs/ssl_www2_access_log

SSLCertificateFile /etc/httpd/conf/.ssh/httpd.crt

SSLCertificateKeyFile /etc/httpd/conf/.ssh/http.key

</VirtualHost>

<Directory /data/vhosts/www2>

<RequireAll>

Require all granted

Require not ip 192.168.0.0/24

</RequireAll>

</Directory>

设置www1的虚拟主机

[root@zzy ~]# vim /etc/httpd/conf.d/www1.conf

<VirtualHost 172.16.1.1:80>

ServerName www1.zou.com

DocumentRoot /data/vhosts/www1

ErrorLog logs/www1-error_log

LogLevel warn

CustomLog logs/www1-access_log combined

<Directory /data/vhosts/www1>

<RequireAll>

Require all granted

</RequireAll>

</Directory>

</VirtualHost>

<Location /server-status>

SetHandler server-status

<RequireAll>

Require all granted

AuthType Basic

AuthName "Server-stauts"

AuthBasicProvider file

AuthUserFile "/etc/httpd/conf/.htpasswd"

Require user tom

</RequireAll>

</Location>

新建认证登录用户tom

[root@zzy vhosts]# htpasswd -c -m /etc/httpd/conf/.htpasswd tom

重新加载服务

[root@zzy .ssh]# systemctl reload httpd

转载于:https://blog.51cto.com/941012521/1826574

https的博客作业相关推荐

  1. C语言第二次博客作业---分支结构

    C语言第二次博客作业---分支结构 一,PTA实验作业 题目1.计算分段函数 本题目要求计算下列分段函数f(x)的值 1.代码 double x, result;scanf("%lf&quo ...

  2. OO--第三单元规格化设计 博客作业

    OO--第三单元规格化设计 博客作业 前言 第三单元,我们以JML为基础,先后完成了 PathContainer -> Graph -> RailwaySystem 这是一个递进的过程,代 ...

  3. 【面向对象设计与构造】第一次博客作业

    [面向对象设计与构造]第一次博客作业 一.程序结构分析 1. 第一次作业 类图 由于第一次作业难度较低,实现起来也不需要很复杂的算法,因此在编写程序的时候只建立了两个类,Main类主要负责多项式的读入 ...

  4. DS博客作业08--课程总结

    1.当初你是如何做出选择计算机专业的决定的? 当初选择计算机专业是因为比较喜欢电脑,有事没事喜欢慢慢摸索一些关于电脑的乱七八糟的东西.因为接触电脑比较早,所以对电脑的操控什么的都比较熟练.当然我也特别 ...

  5. 2018091-2博客作业

    此作业的要求参见https://edu.cnblogs.com/campus/nenu/2018fall/homework/2101 1. 建博客(1分) 在 cnblogs.com (博客园)建账号 ...

  6. 数据结构线性表博客作业总结

    作业总结 一.基本要求与评分要求 1.1 基本要求 按时交 - 有分 未交 - 0分 迟交一周以上 - 倒扣本次作业分数 抄袭 - 0分 博客作业不规范,没有Markdown语法 - 扣分 泛泛而谈( ...

  7. 闽江学院2015-2016学年下学期《软件测试》课程-第三次博客作业

    闽江学院2015-2016学年下学期<软件测试>课程-第三次博客作业 作业提交班级:13软金2班全体同学 作业提交截止日期:2016年4月30日24:00前(超过截止时间提交的不给成绩) ...

  8. OO第三次博客作业——规格

    OO第三次博客作业--规格 一.调研结果: 规格的历史: 引自博文链接:http://blog.sina.com.cn/s/blog_473d5bba010001x9.html 传统科学的特点是发现世 ...

  9. 2018091-2 博客作业

    此作业的要求参见https://edu.cnblogs.com/campus/nenu/2018fall/homework/2101 1.建博客 在 cnblogs.com (博客园)建账号.博客地址 ...

最新文章

  1. C#实现的正余玄函数图象
  2. isnull pivot server sql_SQLServer行列转换 Pivot UnPivot
  3. mac mysql 安装日志_Mac 安装 MySQL
  4. 寄娱于学第2天——PHP骰子游戏篇--优化
  5. Discuz!NT 模板机制分析(转)
  6. LeetCode 65. 有效数字(逻辑题,难)
  7. GitHub Desktop理解与入门
  8. 聊聊职场中的学历问题
  9. POJ分层练习题目列表
  10. 快速突破面试算法之树结构篇
  11. 【学术】SCI期刊影响因子查询方式
  12. 学习Web前端的心得
  13. RGB颜色对照表以及十六进制
  14. 内存条hyperx_HyperX是什么牌子内存条
  15. 20中氨基酸名称、简写及化学式
  16. 毕业设计 单片机指纹识别考勤系统 - 嵌入式 物联网
  17. bigemap批量添加第三方在线地图浏览
  18. IT资质认证证书如何查询?这篇文章教你查询方式
  19. 1+X Web前端开发初级考试 模拟试题(一)
  20. windows自带w32tm实现做ntp client端,精确同步时间。

热门文章

  1. nmap扫描局域网存活主机_第十五天Nmap篇:每日一练之Kali Linux面试题
  2. ibatis mysql_mysql +ibatis
  3. mpython 直接访问_python -mSimpleHTTPServer 开启一个简单的http服务器,可传输文件
  4. python中的构造函数_python构造函数init实例方法解析
  5. ssm实现管理员和用户_基于SSM的网上水果生鲜超市商城管理系统
  6. matlab数据导出excel,求教怎么将matlab的数据导出到excel
  7. HTML form -enctype
  8. 安卓学习笔记20:Fragment入门
  9. 【BZOJ2756】奇怪的游戏,网络流判断答案
  10. bzoj3238 [Ahoi2013]差异 后缀自动机