apache服务详解(从http到https)

一、apache服务的定义

  • Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,是世界使用排名第一的Web服务器软件,它可以运行在几乎所有广泛使用的计算机平台上,它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。
  • Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一,它主要用来提供http协议。
  • 它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。
  • Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。也是一个基金会的名称、一种武装直升机等等。
  • 可以使用curl -I www.taobao.com 或者curl -I (大写的i)www.baidu.com来嗅探以下主流网站使用的服务器软件,发现主要有Apache(稳定),nginx(快速)还有自己公司开发的。

二、http://协议

1、http://协议的定义

  • HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议,是基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件,查询结果等)。 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统,协议工作于客户端-服务端架构为上,浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求,Web服务器根据接收到的请求后,向客户端发送响应信息。
  • HTTP工作原理:HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端,HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。

2、 HTTP 请求/响应的步骤:

  • 客户端连接到Web服务器

    一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。例如,http://www.oakcms.cn。

  • 发送HTTP请求

    通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。
    服务器接受请求并返回HTTP响应Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。

  • 释放连接TCP连接

    若connection 模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;若connection 模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求;

  • 客户端浏览器解析HTML内容

    客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示。

三、apache的安装及查看基本信息

3.1 apache服务的安装

(1)yum install httpd -y 安装apache软件
(2)yum install httpd-manual -y 安装apache的手册(安装完,重启服务,在浏览器里面输入ip/manual就可以看到)
在这里插入图片描述
在这里插入图片描述
(3)开启apache服务且开机自启动
   systemctl start httpd
   systemctl enable httpd
 在这里插入图片描述
 (4)在防火墙中添加apache服务
    firewall-cmd --permanent --add-service=http 在火墙里面添加http服务
    firewall-cmd --reload 新加载使添加生效
    firewall-cmd --list-all 列出火墙信息
     在这里插入图片描述

3.2 查看httpd服务相关信息

文件 路径
主配置目录 /etc/httpd/conf
主配置文件 /etc/httpd/conf/httpd.conf
子配置目录 /etc/httpd/conf.d/
子配置文件 /etc/httpd/conf.d/*.conf
默认发布目录 /var/www/html
默认发布文件 index.html
默认端口 80
默认安全上下文 httpd_sys_content_t
程序开启默认用户 apache
apache日志 /etc/httpd/logs/*

(1)rpm -ql httpd 查看主配置目录
  在这里插入图片描述
(2)rpm -qc httpd 查看主配置文件
在这里插入图片描述
(3) /var/www/html 默认发布目录
在这里插入图片描述
(4)vim /var/www/html/index.html apache的默认发布文件

  • 默认发布文件就是访问apache时没有指定文件名,则默认访问的文件,此文件可以指定多个,但有访问顺序。
      在这里插入图片描述
          在这里插入图片描述
    测试 http://172.25.70.250 在浏览器里面输入我的apache浏览器的ip地址就能看到它共享出来的东西
           在这里插入图片描述
    (5)netstat -antlupe | grep httpd 查看httpd的服务端口80
    在这里插入图片描述

3.3 httpd服务的相关设置

1、修改httpd服务的端口

(1)vim /etc/httpd/conf/httpd.conf 在主配置文件中更改端口80为8080
     在这里插入图片描述
     在这里插入图片描述
(2)重启服务 systemctl restart httpd
(3)netstat -antlupe | grep httpd 查看端口是否改为8080查看端口是否修改成功
在这里插入图片描述
测试
(1)输入172.25.70.250(相当于172.25.70.250:80)此时找不到,因为已经将端口改为8080了。
若还找不到,是因为未将8080端口添加在火墙中
     在这里插入图片描述
(2)firewall-cmd --permanent --add-port=8080/tcp 在火墙里面添加8080端口
firewall-cmd --reload 加载使其生效
    在这里插入图片描述
(3)http://172.25.70.250:8080 此时输入,即可访问。
       在这里插入图片描述

2、修改默认发布文件

首先恢复配置文件,保持实验环境纯净
(1)cd /var/www/html 默认发布目录
(2)vim /var/www/html/westos.html 在文件默认发布目录下新建一个文件westos.html
   在这里插入图片描述
     在这里插入图片描述
(3)vim /etc/httpd/conf/httpd.conf 添加默认发布文件westos.html,重启服务。
    在这里插入图片描述     在这里插入图片描述
(4)测试
   http://172.25.70.250 看到的是westos.html内的内容,若文件westos.html不存在,则按照顺序默认访问下一个文件。
        在这里插入图片描述

3、修改默认发布目录

首先恢复配置文件,保持实验环境纯净
(1)vim /etc/httpd/conf/httpd.conf 复制一行,注释掉原来的,防止自己手写把格式写错
在这里插入图片描述
(2)/var/www/html----->/meng/html将默认发布目录改为/westos/html
加入授权信息:

  <Directory "/westos/html">
        Require all granted                    允许共享改目录下面的东西,否则无法访问
  </Directory>

       在这里插入图片描述
(3)mkdir -p /westos/html 新建一个目录,让它成为默认发布目录
(4)vim /westos/html/index.html 编写默认发布文件内容为hhhhh
在这里插入图片描述
重启服务
(5)测试
   http://172.25.70.250 看到的是/westos/html/目录内的默认发布文件
          在这里插入图片描述

四、apache的访问控制

4.1 针对主机ip的访问控制

  • 基于ip的访问控制,允许哪个ip可以访问,哪个ip不可以访问

  • allow,deny会有一个读取的先后顺序,后面的会覆盖前面的,相当于设置访问apache服务器的黑白名单

(1) vim /etc/httpd/conf/httpd.conf
在这里插入图片描述
(2)黑名单

   <Directory "/var/www/html/westos">
     Order  Allow,Deny		##列表读取顺序,后读取的列表会覆盖前面列表内容的重复部分
     Allow  from All
     Deny 
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值