zxcvb12 发表于 2018-11-24 06:40:20

(续)Apache


  Apache之所以受到很多公司的亲睐,正是他的开源代码,跨平台,模块化设计,功能灵活,不仅性能稳定,安全性也表现出色。下面我们就一起看看他安全性的表现,以及虚拟主机的配置。
  http服务的访问控制:
  主机控制
  在apache的主配置文件中,通过配置项 Order,Denyfrom,allowform 可以限制客户机ip或者是主机名的访问,其中order 用来设置限制顺序,denyfrom和allowfrom用来设置具体的内容。
  Order: 决定匹配的顺序
  allow,deny 先允许 后拒绝 默认拒绝所有没有明确允许的客户端。
  deny,allow 先拒绝 后允许,默认允许所有没有明确拒绝的客户端。
  可以用all 来指定所有的地址。

  下面我就来限制一下

  这样就除了192.168.1.1以外的全都会拒绝掉了。

  表示没有权限
  用户认证:
  在主配置文件的“目录”中
  添加
  AuthName:定义受保护的领域名称,也可以理解为是提示信息。
  AuthType:设置认证类型,Basic 表示基本认证。
  AuthUserFile:设置用于保存用户账号,密码的文件路径。
  Requite valid—user :要求认证文件中只有合法的用户才能访问其中 valid-user表示所有合法用户,若要指定单个用户 后面跟上指定的用户名。
  下面来测试一下

  然后再用htpasswd 命令指定认证文件和用户以及密码

  -c 是创建认证文件 后面跟上用户名robin
  第二次创建用户的时候就不用加-c 了因为文件已经存在了不然会提示 覆盖操作
  可以看出现在有两个用户 以及加密的密码。
  访问一下
  提示要认证

  Robin用户已经成功登陆

  否侧提示没有认证成功

  以上都是体现了Apache的安全性方面,接下来是怎么样构建虚拟主机
  什么是虚拟web主机, 虚拟web主机就是在同一台服务器中运行多个web站点,每个站点并不是完全占有整个服务器。因此称为 ‘虚拟的web’主机,通过虚拟主机可以大大减少web站点的成本和维护费用。
  无论是微软的IIS网站服务,还是Apache 以及后面要研究的Nginx 构建虚拟主机的方法无外乎三种方法:
  基于域名: 服务器的一个ip对应多个不同的域名。
  基于ip地址:每个虚拟主机的域名不同,切对应的ip也不一样,也就是说,一台服务器上有多个ip地址。
  基于端口:我们知道http 是监听的80 端口,如果我们将不同的虚拟主机监听的端口都不一样的话 也能够实现虚拟主机, 但是客户端访问的时候要指定端口访问,因为浏览器默认访问服务器的80端口。
  Apache配置虚拟主机的主要配置文件除了之前的httpd.conf之外,还有就是httpd-vhosts.conf 默认是放在Apache安装目录下的conf/extra/ 下
  下面就来操作一下
  显示基于域名 的
  因为是靠域名范文 就要有域名解析 这里因为环境问题 我就把两个域名直接写在hosts文件当中了      同一个ip对应不同的域名

  域名问题解决了 还有网页文件的问题 我就手工写两行网页文件
  mkdir 创建了两个站点的根目录echo 命令是向index.html 默认文档中写入内容

  最后就是配置两个配置文件了
  先是 httpd的主配置文件 要让他支持虚拟主机的功能 。
  默认这一项是注释掉的 如图

  取消他的注释 重启服务即可
  另一个就是 httpd-vhosts.conf配置文件了这里的默认位置如图:

  一般在配置虚拟主机的时候 主要配置的是这几个方面的内容
  监听地址: 包括 ip端口号 由NameVirtualHost 配置项指定
  虚拟主机区域:其中包括主机名称 网页更目录,管理员邮箱 以及log方面
  目录权限:为每一个虚拟主机所在的目录配置访问权限。
  httpd—vhosts.conf 文件中默认有虚拟主机的示例,我们只要稍作改动即可

  NameVirtualHost:指定要所有虚拟主机要监听的地址和端口* 代表所有
  
  ……
  …… 省略
   : 虚拟主机区域,不同的区域就以这个标志区分
  ServerAdmin : 指定管理员邮箱
  DocumentRoot:指定网页的根目录
  Server-Name:指定网站名称
  ServerAlias:网站的别名
  Errolog: 错误日志存放位置
  CustomLog:访问日志存放位置   common 格式为通用
  知道这些参数作用之后 就根据刚才创建的网页和网页目录修改

  然后重启服务 浏览器访问
  百度

  51cto

  好了然后是根据端口做虚拟主机
  只要把创建虚拟主机三种方法的原理弄明白,就很好配置了,只需要继续做改动就可以
  先改动httpd.conf主配置文件 因为他默认只监听了80 端口 所以要添加这里我添加了51端口 (要保证这个端口没有被其他的服务所占用)

  虚拟主机方面也要更改

  另外 建议httpd-vhosts.conf 中默认监听的80 给他注释掉 有每个虚拟主机中的配置决定监听的地址

  浏览器访问

  哦了
  关于基于ip的配置方法就不详细解释了 他并不是最常用的,原因是公网的ip造价高,小公司用不起啊!Apache就介绍到这吧。有时间在介绍下windows下Apache的配置。(其实前面博客已经稍稍介绍了一点了)
  Ps:我今天微博添加了一些比较冷门的音乐,有兴趣的可以多串串。



页: [1]
查看完整版本: (续)Apache