2018-12-5 直播课笔记

目录

一、Apache默认虚拟主机

二、Apache用户认证

三、域名跳转

四、Apache访问日志

五、访问日志不记录静态文件

六、访问日志切割

七、静态元素过期时间

八、扩展

 

一、Apache默认虚拟主机

虚拟主机指的是在单一机器上运行多个网站,每一个网站实际就是一个虚拟主机。虚拟主机可以"基于IP",即每个IP一个站点; 或者"基于名称", 即每个IP多个站点。也可以是基于端口。目前常用的是基于名称的虚拟主机。

如果在包含最具体匹配IP地址和端口组合的虚拟主机集中找不到匹配的ServerName或ServerAlias,则将使用与之匹配的第一个列出的虚拟主机。这个主机就是默认的虚拟主机。

在apache全局配置文件httpd.conf中定义了默认的虚拟主机、网站目录以及首页index.html

3d1a3182b907e063ed1918926b8882aeac4.jpg

测试默认虚拟主机的访问

本机win10

Apache Web Server地址:10.0.1.212

在本机添加hosts解析记录(C:\Windows\System32\drivers\etc\hosts)

339bb01f434666b64fe3e5f684015fb2559.jpg

通过win10浏览器访问a.com和b.com,均可正常访问默认主机的默认主页。因为当前Apache Web Server还没有其他的虚拟主机。所以都是定位到默认主机。

ebee95b1dd38d3228f2d0c5a8107015ce96.jpg

多虚拟主机配置

1.在全局配置文件中开启虚拟主机子配置文件

e9e17bce94f9be33478492633046947ec81.jpg

2.编辑httpd-vhosts

b10a65e083b0857dfce20daa55d8cca5dad.jpg

3.添加虚拟主机目录及测试文件

2ecadb9d0035b36fa72c00a8c2d53b847bb.jpg

4.测试配置文件及重载

7a9b74824c7d28c9e748833e6110fba1c8b.jpg

5.验证

在win10主机添加aaa.com的主机解析记录

f19c373cd912bc0f8f8e6408f2df22b45ae.jpg

验证虚拟主机配置成功

本地验证:

ebee95b1dd38d3228f2d0c5a8107015ce96.jpg

远程浏览器验证

e13de93f1dbea3fdbc45e8fcf89b327b4d3.jpg

此时的默认虚拟主机已经变为httpd-vhosts.conf配置文件中的第一个虚拟主机。即a.com, 全局配置中的默认虚拟主机失效。

6b41d0e1e0d612ab2e7dd74caeabe00f48a.jpg

二、Apache用户认证

有时候为满足特殊的安全需求,需要对网站或网站的特定页访问进行验证,然后才可以访问网站的相应内容,例如网站的后台管理页面,可以通过开启apache的用户认证功能来实现。

实现过程(以b.com为例)

1.修改/usr/local/apache2.4/conf/extra/httpd-vhosts.conf文件

318d0067cea43ba7a928cc390616beeac64.jpg

2.创建用户与密码文件:-c选项是创建、-m选项是使用md5加密算法,user01是认证用户名

318d0067cea43ba7a928cc390616beeac64.jpg

3.测试配置文件及重载

64a3c373b8a1f7f9c8fbe102355e4bbc7ce.jpg

4.验证

本地验证

8a8d0589afe7a0fcabc95620fc83afa376d.jpg

d09c5ef0fd9b7a4711de08053de058b0017.jpg

569bc7d68b19b2c8cc3f7c9fb32f1150b7a.jpg

f8fa07b5699f012d5e9a408b1e0e439d307.jpg

c3391f9070c8d1563f32da9eb7632cdd875.jpg

93e486345e15d668f93dea424759a4f25db.jpg

89fcca64f4330da2b0a9ad081accbd7a029.jpg

三、域名跳转

在用Apache做web服务器的时候,有的时候需要将输入的URL转换成另一个URL。这可以通过Apache的rewrite功能实现。

Rewirte主要的功能就是实现URL的跳转,它的正则表达式是基于 Perl语言。可基于服务器级的(httpd.conf)和目录级的 (.htaccess)两种方式。如果要想用到rewrite模块,必须先安装或加载rewrite模块。方法有两种一种是编译apache的时候就直接 安装rewrite模块,别一种是编译apache时以DSO模式安装apache,然后再利用源码和apxs来安装rewrite模块。

如需从a.com跳转到aaa.com

1.在apache的全局配置文件中启用rewrite模块

f9ba1527cdc3aea034dc3338e06f6a521fe.jpg

e6407d79a5b68ff98d8ae14a12024924f5e.jpg

四、Apache访问日志

Apache的访问日志是在虚拟主机子配置文件httpd-vhosts.conf中定义的,一个虚拟主机对应一个错误日志和访问日志。

a179ca35009fb6c20493298af0d86f8f947.jpg

5affdf7406061439422e963bc73935bac25.jpg

902c90b939d7ffbbbfca0e9a87fc2d4c8dd.jpg

//未重载配置时

[root@localhost ~]#  curl -x127.0.0.1:80 a.com -I

HTTP/1.1 301 Moved Permanently

Date: Fri, 29 Jun 2018 01:51:51 GMT

Server: Apache/2.4.33 (Unix) PHP/5.6.30

Location: http://aaa.com/

Content-Type: text/html; charset=iso-8859-1

//日志内容

127.0.0.1 - - [28/Jun/2018:21:28:15 -0400] "HEADHTTP://a.com/ HTTP/1.1" 301 -

127.0.0.1 - - [28/Jun/2018:21:28:49 -0400] "GETHTTP://a.com/ HTTP/1.1" 301 223127.0.0.1 - - [28/Jun/2018:21:51:47 -0400] "GETHTTP://a.com/ HTTP/1.1" 301 223127.0.0.1 - - [28/Jun/2018:21:51:51 -0400] "HEADHTTP://a.com/ HTTP/1.1" 301 -

//重载配置文件后通过浏览器访问

10.0.1.229 - - [28/Jun/2018:21:54:20 -0400] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"

 

 

五、访问日志不记录静态文件

apache的访问日志会记录网站每个文件被获取的信息,这样日志信息量会很大,我们排查日志的时候不容易筛选有用的记录。我们可以把静态文件的日志设置为不记录,提高我们排查日志信息的效率

编辑Apache的子配置文件/usr/local/apache2.4/conf/extra/httpd-vhosts.conf

def73f1649002724528aa2512408aa22ffe.jpg

//此时,对PNG文件的访问有记录,但是对jpg等其他格式图片的访问没有记录

10.0.1.229 - user01 [28/Jun/2018:23:24:52 -0400] "GET /index.php HTTP/1.1" 200 10 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"127.0.0.1 - - [28/Jun/2018:23:25:28 -0400] "GETHTTP://b.com/ HTTP/1.1" 200 201 "-" "curl/7.29.0"127.0.0.1 - - [28/Jun/2018:23:25:32 -0400] "HEADHTTP://b.com/ HTTP/1.1" 200 - "-" "curl/7.29.0"10.0.1.229 - user01 [28/Jun/2018:23:26:09 -0400] "GET /index.php HTTP/1.1" 200 10 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"10.0.1.229 - - [28/Jun/2018:23:26:15 -0400] "GET /img HTTP/1.1" 301 225 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"10.0.1.229 - - [28/Jun/2018:23:26:15 -0400] "GET /img/ HTTP/1.1" 200 670 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"10.0.1.229 - - [28/Jun/2018:23:26:18 -0400] "GET /img/Screenshot_20180627-211800.png HTTP/1.1" 200 136973 "http://b.com/img/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"10.0.1.229 - - [28/Jun/2018:23:26:47 -0400] "GET /img/ HTTP/1.1" 200 714 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"10.0.1.229 - - [28/Jun/2018:23:27:02 -0400] "GET /img/indexphp.png HTTP/1.1" 200 18917 "http://b.com/img/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"

 

 

六、访问日志切割

随着网站访问量的增大,网站的访问日志文件也会变得很大,为了保持磁盘空间,方便日志的管理(如查询、备份、删除历史日志等。),我们需要对日志进行切割操作,可以以天为单位将日志独立切割出来。

在/usr/local/apache2.4/conf/extra/httpd-vhosts.conf配置文件下进行设定:

a2c0717c2582d63268c24fe98736ab3314e.jpg

07baeb9f5432f1c3b29548481a60fb0b231.jpg

 

七、静态元素过期时间

浏览器访问网站,获取的图片、css等静态元素会保存在本地电脑缓存文件夹里,方便下次再此访问的时候提高访问速度。我们也可以在服务器端设置这些静态元素的过期时间,可以减网站的带宽压力。

在apache子配置文件/usr/local/apache2.4/conf/extra/httpd-vhosts.conf里设定:是通过expires模块实现的。

在编译apache的时候指定了参数mods=most,该模块已经编译进来。

首先在apache全局配置文件里启用该模块

750028bb171d5fd04b528a3eea305577908.jpg

57ce0a3b656da2ca5adf325a24ce3f5e95b.jpg

可以根据自己的需求对每种静态元素类型单独设置。

 

八、扩展

apache虚拟主机开启php的短标签 http://ask.apelearn.com/question/5370

apache日志记录代理IP以及真实客户端IP http://ask.apelearn.com/question/960

apache只记录指定URI的日志 http://ask.apelearn.com/question/981

apache日志记录客户端请求的域名 http://ask.apelearn.com/question/1037

apache 日志切割问题 http://ask.apelearn.com/question/566

参考链接

http://httpd.apache.org/docs/current/

转载于:https://my.oschina.net/u/3991860/blog/2980350

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值