http主要应用

简介:

  CentOS6主要使用http2.2版本,CentOS7使用的是http2.4版本,两个版本之间存在这部分区别,2.2的event模块是处于测试阶段的,2.4的event模块则是可以正常投入使用的;2.2不支持动态装卸载模块,而2.4支持动态装卸载模块;


  使用CentOS6.7来建立httpd服务,主要实现的功能有:

  ①建立两个虚拟主机www1,www2,拥有单独的错误日志和访问日志;

  ②通过www1的server-status能够查看状态信息,但只有link用户能够访问;

  ③www2设置访问范围,允许其他主机访问,但不允许192.168.1.0/24IP地址访问;

  ④为www2提供https服务;

  首先建立两个虚拟主机,在/etc/httpd/conf.d/下创建两个片虚拟主机文件,vhosts-www1.conf与

vhosts-www2.conf

  wKioL1mb0HzRNa_NAAAjBgo6_HA767.jpg-wh_50

  书写片配置文件vhosts-www1.conf的主要配置

  如DocmentRoot,ServerName,ErrorLog,CustomLog并设置其server-status的访问权限,只允许link用户访问,创建其根文件系统在/myweb/vhosts/www1下;

  片配置文件vhosts-www1.conf

  wKiom1mb1VWzmhw3AAA_G1GEB7k633.jpg-wh_50

  

  创建www1,错误日志,访问日志的对应目录路径;使用htpasswd命令创建虚拟用户密钥;

-c选项只有在第一次创建虚拟用户文件时需要,-m选项表示用md5单向加密算法加密;

  wKioL1mb1iOzjI90AABIrbLfiiA377.jpg-wh_50


  www1运行结果:

  主页

  wKioL1mb1q-T1dHRAAASuRLpyNk243.jpg-wh_50

  server-status:

  wKiom1mb1u7DEtsBAABBmoSvOQs731.jpg-wh_50


  书写片配置文件vhosts-www2.conf的主要配置:

  wKiom1mb4YmRe4NwAAA-i1d_cKI261.jpg-wh_50

  

  设置了Order权限,使用telnet进行测试

  如:

  wKioL1mb4fCx7Q2rAABNxMk30FM967.jpg-wh_50

  wKiom1mb4iDQD1pZAABVv41BW4c353.jpg-wh_50

 

  www2运行结果:

  wKioL1mb6k7xcDU1AAATDUf68x4594.jpg-wh_50

  要使用域名的方式访问时,需要在windows下的hosts配置文件中加一条关于该域名的记录,

  如:

  172.16.72.4 www.wujunqi2.com


  为www2虚拟主机设置https服务:

  首先在客户端处生成私钥,及其请求证书:

  wKiom1mb_0SCKcEGAACG5tz94hg361.jpg-wh_50

  wKioL1mb_5nSh6PpAABj0b9AxYc796.jpg-wh_50

  

  使用scp将客户端请求证书发往私人CA处:

  wKioL1mb_9KA2xHrAAAfcwtsvBQ167.jpg-wh_50

  安装mod_ssl,使用yum install mod_ssl

  mod_ssl是https使用的前提

  

  构建私人CA:

    将私钥以及公钥放在指定路径下

    私钥:/etc/pki/CA/private/cakey.pem

    公钥:/etc/pki/CA/cacert.pem

    创建两个私人CA需要的配置文件在/etc/pki/CA下

    echo 01 > serial

    touch index.txt

   wKioL1mcAaSzsB62AAA0ncXptZY732.jpg-wh_50


   wKioL1mcAi2gSDUHAABov5VOHUo312.jpg-wh_50


   使用scp将生成的客户端证书发送给客户端

   wKioL1mcAorBmyGzAAAtNbZcSI8284.jpg-wh_50

   客户端:

   wKiom1mqk7eRmPXCAAAbScc_-qQ363.jpg-wh_50

  

   将服务器端私人CA的公钥到处到本地windows下,并将其导入到浏览器中的证书文件中

   如:谷歌

   wKioL1mqlD6DPx01AADZ8-BkoX8201.jpg-wh_50

  

  客户端下/etc/httpd/conf.d/ssl.conf

  wKiom1mqlKOzT5LnAABeTe7d0EM982.jpg-wh_50

  设置客户端的私钥以及认证完后的证书存放路径,分别用指令SSLCertificateKeyFile和

  SSLCertificateFile;

  

  https设置结果:

  wKioL1mqlYfyUWx6AAAlUu_scGA911.jpg-wh_50

  使用CentOS7.0建立httpd服务,主要实现的功能有:

  ①建立两个虚拟主机www1,www2,拥有单独的错误日志和访问日志;

  ②通过www1的server-status能够查看状态信息,但只有link用户能够访问;

  ③www2设置访问范围,允许其他主机访问,但不允许192.168.1.0/24IP地址访问;

  ④为www2提供https服务;

  在centos7的/etc/httpd/conf.d下创建片配置文件vhosts-www1.conf与vhosts-www2.conf

  

  vhosts-www1.conf:

  wKioL1mcHzPDQZZ6AABRdG1qdBg611.jpg-wh_50

  CentOS7的httpd是2.4版本的,该版本下的片配置文件的书写大致相同,不同在于,CentOS6.7对于访问范围若不指定时默认是全部,而CentOS7对于访问范围不指定时默认的就是没有,这样所有的IP都无法访问该网页;

  Require all granted:全部IP都可以访问;

  Require all denied:全部IP都不可以访问;

  设置服务器状态的访问权限也同CentOS6一样;

 

  创建根目录,并在根目录中加入网页文件;

  wKioL1mcImqAbix7AAANR2C5v9s006.jpg-wh_50

  创建错误日志以及访问日志的目录:

  wKiom1mcIqvhJ6GzAAATsGhJ5QM663.jpg-wh_50


  重载httpd配置文件:

  systemctl reload httpd.service

  

  www1运行结果:

  主页

  wKioL1mcIvyhSyE8AAARujeLljg168.jpg-wh_50

  

  server-status

  wKiom1mcI3nwd6_PAABAF5H0jsA421.jpg-wh_50

  wKiom1mcI6TDzXZvAACVgIKDOkQ282.jpg-wh_50


  vhosts-www2.conf:

  wKioL1mcKzbg49pgAABDovXxlRI092.jpg-wh_50

  同时控制主机访问以及拒绝时,需要将其放置在<RequireAll></RequireAll>中进行设置;

  

  创建根目录以及日志目录:

  wKioL1mcK77hNS4aAAAj1fz0L_0644.jpg-wh_50

  

  httpd -t验证语法是否正确:

  wKioL1mcK--TVbnpAAAw8csHoYU624.jpg-wh_50

  

  重载httpd配置文件:

  systemctl reload httpd.service


  www2运行结果:

  wKioL1mcLILw17hLAAAVd2VDQog506.jpg-wh_50


  www2设置https:

 创建私人CA:

  wKioL1mqr9Txg2gRAABneJol_sQ577.jpg-wh_50

  wKiom1mqsBLALoyxAABzI-IRgnc206.jpg-wh_50

  

  客户端配置:

  yum install httpd

  yum install mod_ssl

  vim /etc/httpd/conf.d/ssl.conf

  wKioL1mqsGaiIbjVAAA6uXZi-TQ347.jpg-wh_50

  

  mkdir -p /myweb/vhosts/www2

  在该目录下创建index.html文件;

  配置该客户端的私钥,并生成证书请求文件

  wKioL1mqsO2Sx9Q6AABVjSk02vs086.jpg-wh_50

  

  wKiom1mqsTvDH59LAABip6AYCSg109.jpg-wh_50


  将httpd.csr文件发往服务器端,生成证书

  wKioL1mqsVTBFRxnAABDyuY6g5U863.jpg-wh_50


  将该证书发往客户端,并将服务器端的CA公钥放在windows下,将其导入到要访问的浏览器的证书中;

  客户端:

  wKiom1mqscWDvmZJAAAUamSEx1s310.jpg-wh_50

  浏览器:

  wKioL1mqscWxYOg1AAArG4FSn9I286.jpg-wh_50


本文转自 wujunqi1996 51CTO博客,原文链接:http://blog.51cto.com/12480612/1962192


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3月前
|
缓存 Linux Shell
RHEL7部署http应用配置共享yum源
RHEL7部署http应用配置共享yum源
77 0
|
24天前
|
程序员
深入理解HTTP协议本质与应用
HTTP是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范。简单来说,如果你不懂HTTP协议,那就相当于是个只有“半桶水”的程序员。在这个课程中,带你一起花最少的时间,用最少的精力,掌握最多、最全面、最系统的HTTP相关知识
13 3
深入理解HTTP协议本质与应用
|
1月前
|
数据采集 缓存 监控
Socks5 与 HTTP 代理在网络安全中的应用
Socks5 与 HTTP 代理在网络安全中的应用
11 0
|
1月前
|
Web App开发 前端开发 网络安全
前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用
【2月更文挑战第21天】前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用
46 1
前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用
|
2月前
|
网络协议 Linux Shell
http“超级应用与理解”
http“超级应用与理解”
|
3月前
|
存储 安全 Java
从HTTP到Tomcat:揭秘Web应用的底层协议与高性能容器
从HTTP到Tomcat:揭秘Web应用的底层协议与高性能容器
|
3月前
|
Java API Spring
使用OkHttp在Spring Boot应用中发送HTTP请求
使用OkHttp在Spring Boot应用中发送HTTP请求
75 0
|
3月前
|
数据采集 监控 JavaScript
Python网络爬虫进阶:自动切换HTTP代理IP的应用
Python网络爬虫进阶:自动切换HTTP代理IP的应用
|
3月前
|
网络协议 Python
Python网络编程(四),HTTP协议的python应用
Python网络编程(四),HTTP协议的python应用
35 0
|
3月前
|
缓存 前端开发 JavaScript
Angular Service Worker 在 PWA 应用 HTTP 交互中扮演的角色
Angular Service Worker 在 PWA 应用 HTTP 交互中扮演的角色
45 0