Httpd访问控制、虚拟主机、网页压缩优化

目录

  • HTTPD访问控制、虚拟主机、网页压缩优化

    • HTTPD访问控制
    • HTTPD访问控制的实现
    • 虚拟主机
    • 网页优化之页面压缩
    • 扩展

本实验为前次博客的扩展,有兴趣可以参考HTTP服务安装与配置

HTTPD访问控制、虚拟主机、网页压缩优化

HTTPD访问控制

  • 访问控制:限制客户端可以访问的资源,或限制其不能访问某些资源
  • 分类
    • 基于来源地址(常用)
    • 基于账号
      • basic基于虚拟账号认证(明文传输需要进行加密)
      • digest信息摘要认证
  • 实现方式
    • <Directory ""> 内部指令只对Directory容器生效,完成控制
    • <Files ""> 针对某个文件进行控制,而非路径名称,必须只写文件名
    • <FilesMatch ""> 基于正则表达式模式进行控制(调用正则表达式引擎,效率低)
      • 例如:<FilesMatch ".(gif|jp?g|png)$">
    • <Location ""> 此容器需单独定义,不要定义在Directory之中。

HTTPD访问控制的实现

  • 实验环境

    • 服务端:centos6.10 192.168.10.110
    • 客户端:centos6.10 192.168.10.110
    • 客户端:windows10 192.168.10.1
  • 基于来源地址的访问控制实现
    1. 禁止来自192.168.10.111的主机访问根,修改主配置文件如下

    2. 禁止来自10.10.86.68的主机访问sub子目录,修改配置文件如下
    3. 重启服务
    4. 由于SeverName未指定所以出现异常信息,修改ServerName属性并重启

    5. 192.168.101.win10客户端访问测试

    6. 192.168.10.111 centos6 客户机测试(为了便于观察,使用lynx工具进行测试,需要先安装该工具)





      注:使用q退出
#/etc/httpd/conf/httpd.conf
<Directory "/var/www/html">
    Options Indexes FollowSymLinks
#Options 选项
    #Indexes 若不存在索引页面则录下内容以列表样式列出
    #FollowSymLinks 目录下启用显示符号(软)链接文件
    AllowOverride None
    Order allow,deny #指定规则,先检查allow后检查deny
    Allow from all #允许所有主机
    Deny from 192.168.10.111 #拒绝192.168.10.111,覆盖前面设定的允许
</Directory>
<Directory "/var/www/html/sub">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    Deny from 192.168.10.1
</Directory>
  • 基于虚拟账户的访问控制实现
  1. 创建虚拟用户的目录,并添加测试主页
  2. 使用htpasswd命令添加虚拟用户,指定用户存放文件为/etc/httpd/conf.d/.htpasswd

    注:-m 表示md5加密,-c自动创建账户,-s使用sha1加密,-D 删除指定账户

  3. 修改主配置文件如下:
  4. 重启服务
  5. win客户端访问

#/etc/httpd/conf/httpd.conf
<Directory "/var/www/html/httpd1"> #网站所在路径
    Options Indexes #使用的选项
    AllowOverride None #是否允许权限覆盖
    AuthType Basic #认证类型 虚拟用户认证
    AuthName "welcome" #认证的名称,提示信息
    AuthUserFile "/etc/httpd/conf.d/.htpasswd" #虚拟用户存放文件路径
    Require valid-user #允许访问的用户,valid-user有效用户 或指定用户名
</Directory>

虚拟主机

  • 实验环境

    • 服务端1:centos6.10 192.168.10.110 192.168.10.109
    • 客户端:centos6.10 192.168.10.110
    • 客户端:windows10 192.168.10.1
  • 分类
    • 基于IP的虚拟主机
    • 基于port的虚拟主机
    • 基于域名的主机
      注:三种虚拟主机可混合使用
  • 基于IP的虚拟主机的实现
    1. 为虚拟服务器主机添加网卡,配置IP






    2. 修改主配置文件如下

    3. 创建指定的目录并添加主页
    4. 重启服务
    5. 测试

#/etc/httpd/conf/httpd.conf
<VirtualHost 192.168.10.109:80> #虚拟主机的ip及端口
    ServerAdmin [email protected] #管理员邮箱
    DocumentRoot /www/docs/lg1 #网站根目录
    ServerName www.lg1.com #服务器名
    ErrorLog logs/lg1-error_log #错误日志存放位置
    CustomLog logs/lg1-access_log #访问记录日志存放位置
</VirtualHost>
<VirtualHost 192.168.10.110:80>
    ServerAdmin [email protected]
    DocumentRoot /www/docs/lg2
    ServerName www.lg2.com
    ErrorLog logs/lg2-error_log
    CustomLog logs/lg2-access_log common
</VirtualHost>
  • 基于端口的虚拟主机
  1. 修改主配置文件如下(要将上一个实验配置的内容注释或删除)


  2. 创建站点根目录,并添加测试主页
  3. 重启服务
  4. 测试

#/etc/httpd/conf/httpd.conf
Listen 80
Listen 8080

<VirtualHost 192.168.10.110:80>
    ServerAdmin [email protected]
    DocumentRoot /www/docs/lg80
    ServerName www.lg80.com
    ErrorLog logs/lg80-error_log
    CustomLog logs/lg80-access_log common
</VirtualHost>
<VirtualHost 192.168.10.110:8080>
    ServerAdmin [email protected]
    DocumentRoot /www/docs/lg8080
    ServerName www.lg8080.com
    ErrorLog logs/lg8080-error_log
    CustomLog logs/lg8080-access_log common
</VirtualHost>
  • 基于域名的虚拟主机
  1. 修改主配置文件

  2. 创建指定的站点目录并添加主页

  3. 重启服务

  4. 修改客户端C:\Windows\System32\drivers\etc\hosts文件

  5. 测试

##/etc/httpd/conf/httpd.conf
NameVirtualHost 192.168.10.110:80 #指定域名虚拟主机的地址及端口,若无则ServerName不生效
<VirtualHost 192.168.10.110:80>
    ServerAdmin [email protected]
    DocumentRoot /www/docs/lgweb1 #站点根目录
    ServerName web1.lg.com  #站点对应的域名
    ErrorLog logs/lgweb1-error_log
    CustomLog logs/lgweb1-access_log common
</VirtualHost>

<VirtualHost 192.168.10.110:80>
    ServerAdmin [email protected]
    DocumentRoot /www/docs/lgweb2
    ServerName web2.lg.com
    ErrorLog logs/lgweb2-error_log
    CustomLog logs/lgweb2-access_log common
</VirtualHost>

网页优化之页面压缩

  • 相关模块mod_deflate
  • 启用压缩后能够节约服务器带宽,但需要消耗额外的CPU(部分浏览器旧版本不支持)
  • 实验过程
    1. 在主配置文件中启用相关模块(httpd2.2 默认启动),并启用压缩功能

    2. 设置压缩属性(该文件需手动创建,该文件需在主配置文件中使用include指定)


    3. 更改网站主页内容进行测试
    4. 重启服务
    5. 测试(火狐浏览器中Ctrl+F5强制刷新,不使用浏览器缓存)
#/etc/httpd/conf.d/gzip.conf
<ifmodule mod_deflate.c>
DeflateCompressionLevel 6 #压缩率, 6是建议值
AddOutputFilterByType DEFLATE text/plain  #定义压缩的资源类型
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/php
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/gif image/png image/jpe image/swf image/jpeg image/bmp
</ifmodule>

扩展

  • http请求方式:

    • GET:获取服务器中的某个资源
    • HEAD:只从服务器获取资源的响应首部
    • POST:向服务器发送要处理的数据(通常表单提交)
    • PUT:将请求的主体部分存储在服务器上
    • DELETE:请求删除服务器上的指定资源
    • TRACE:追踪请求到达服务器中间经过的代理服务器
    • OPTIONS:请求服务器返回对指定资源支持使用的请求方法
  • http响应状态码
    • 1XX:消息
    • 2XX:成功
    • 3XX:重定向
    • 4XX:请求错误(客户端)
    • 5XX:服务器错误

原文地址:https://www.cnblogs.com/lastyear/p/11760879.html

时间: 2024-11-08 20:18:13

Httpd访问控制、虚拟主机、网页压缩优化的相关文章

httpd配置虚拟主机及访问控制

一.虚拟主机是在一台物理服务器上配置多个站点,有三种实现方法:基于ip,基于端口,基于域名 配置虚拟主机建议在单独一个文件,并在主配置文件使用 include "xxx" 包含进来,这样使配置件更清晰 基于端口:应先在主配置文件中增加一个监听的端口listen 8080 <virtualhost 172.16.168.140:80> options none documentroot "/var/www/80" </virtualhost>

httpd搭建虚拟主机与Apache网站基础服务

前言 Apache简介 Apache的主要特点 httpd 服务器的基本配置 搭建httpd虚拟主机 Apache简介: Apache HTTP Server 是开源软件项目的代表,也是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上.因为它是自由的开源软件,所以不断有人来为它开发新的功能.新的特性.修改原来的缺陷. Apache的主要特点: > 开源代码:这是它的重要特点之一,也是其他特性的基础 > 跨平台应用:apache服务器可以运行在绝大多数的平台上 支持

Apache实现网页压缩优化

简介 网站的访问速度是由多个因素所共同决定的,这些因素包括应用程序的响应速度.网络带宽.服务器性能.与客户端之间的网络传输速度等等.其中最重要的一个因素是应用程序本身的响应速度,此时需要着手进行处理的便是尽可能的提升应用程序的执行速度,可以使用缓存来提升应用程序的速度.它完全不需要任何的成本,只不过是会让您的服务器CPU占用率稍微提升一两个百分点而已或者更少.网页压缩是一项由 WEB 服务器和浏览器之间共同遵守的协议,也就是说 WEB 服务器和浏览器都必须支持该技术,所幸的是现在流行的浏览器都是

httpd之虚拟主机和默认虚拟主机

原理介绍 基于IP地址的虚拟主机 不同的主机名解析到不同的IP地址,提供虚拟主机服务的机器上同时设置有这些IP地址.服务器根据用户请求的目的IP地址来判定用户请求的是哪个虚拟主机的服务,从而进一步的处理. 缺点:既浪费了IP地址,又限制了一台机器所能容纳的虚拟主机数目.因此这种方式越来越少使用.但是,这种方式是早期使用的HTTP 1.0协议唯一支持的虚拟主机方式. 基于主机名的虚拟主机 HTTP 1.1协议中增加了对基于主机名的虚拟主机的支持.具体说,当客户程序向WWW服务器发出请求时,客户想要

httpd添加虚拟主机

有三种实现方法: 基于ip: 为每个虚拟主机准备至少一个ip地址 基于port: 为每个虚拟机准备至少一个专用port        基于hostname: 为每个虚拟主机准备至少一个专用hostname 可混合使用上述三种方式 注意: 一般虚拟机不要和中心主机一起使用,所以,要使用虚拟主机,先禁用中心主机 示例1,基于ip: ip addr add 192.168.1.111/24 dev eth0 ip addr add 192.168.1.121/24 dev eth0       //增

Apache httpd配置虚拟主机的三种方法

基于IP地址的虚拟主机IP地址:172.16.34.3/16:80:172.16.34.30/16:80 linux版本:centos6.7 httpd版本:2.2.15 此实验需关闭SElinux 安装httpd 添加并查看IP地址 在配置/etc/httpd/conf/httpd.conf中有虚拟主机的配置示例: 可在此处添加,也可在/etc/httpd/conf.d/目录下创建虚拟主机文件:为易于管理,建议每一个虚拟主机创建一个配置文件 切换目录至/etc/httpd/conf.d/:新建

tomcat应用实践(虚拟主机以及站点优化)

目前主流的Web开发编程语言有php,java以及.net等,但是大多数架构都会选择java作为开发语言,所以很多java应用容器很受大家欢迎,例如tomcat.jetty.resin,jboss等.我们是使用tomcat.接下来就介绍一下tomcat虚拟主机以及实际使用中的问题. tomcat 虚拟主机    使用过tomcat的童鞋都知道tomcat是默认的8080端口,而web默认的端口是80端口,同时还需要注意Linux系统里,非root权限用户不能使用1024以下的端口,对于一些服务,

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

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

httpd配置-默认虚拟主机

在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录. 一个服务器主机可以运行多个网站,每个网站都是一个虚拟主机:任何一个域名解析到这台机器,都可以访问的虚拟主机就是默认虚拟主机:在dns还未生效时,通过修改hosts文件,设置ip与域名的映射解析,来配置域名. 一.在Windows中编辑hosts文件 Windows系统中hosts位置"C:\Windows\System32\drivers\etc\hosts" 说明:在