1、apache用户认证
在虚拟主机配置中增加如下内容:
其中指定需要认证的用户中vaild-user是指.htpasswd中定义的所有用户
然后执行/usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd root生产密码文件,其中-c是创建文件,-m是md5加密,root是添加的用户,添加完成后,输入密码即可
第二次添加用户时,就不需要使用-c选项,因为已经生成过文件了,只需要执行/usr/local/apache2.4/bin/htpasswd -m /data/.htpasswd 123即可添加用户123
然后执行 /usr/local/apache2.4/bin/apachectl -t检查配置文件参数无误之后,执行/usr/local/apache2.4/bin/apachectl graceful重新加载配置文件
使用curl命令访问网站,会出现401提示,即需要认证
也可以配置不针对所有目录进行认证,只针对网站下的单个目录进行认证
需要在配置文件中,将<directory /data/wwwroot/111.com>修改为<FilesMatch 123.php>,即访问123.php时需要进行认证
此时访问其他页面时,无需输入用户名密码,访问配置的页面时,则需要进行认证。
2、域名跳转
打开虚拟主机配置文件,在虚拟主机配置中,增加如下配置
其中最后一行中,定义的301是指永久重定向,L是指只跳转一次。临时重定向是302,通常情况下建议使用301
修改完配置文件以后,进行检测和加载配置文件。
在加载配置 文件之前,需要查看是否加载rewrite模块,/usr/local/apache2.4/bin/apachectl -M |grep rewrite
如果没有加载该模块,则需要修改配置文件 /usr/local/apache2.4/conf/httpd.conf增加该模块
加载完成之后,访问其他域名,则会显示访问至111.com,且状态码是301
3、apache访问日志
访问日志记录用户的请求记录
查看配置文件内容,可以看到虚拟记住的日志目录
日志目录为/usr/local/apache2./logs
通过cat查看日志文件,其中head是记录的curl命令,get是通过浏览器访问的记录
定义日志格式
打开主配置文件 /usr/local/apache2.4/conf/httpd.conf,搜索logformat,可以查找日志格式,默认使用common
combined会额外显示user-agent是用户代理,记录用户访问网站的工具,如谷歌浏览器或curl,referer是指浏览器上一次所访问的网址。
修改日志格式时,需要修改配置文件/usr/local/apache2.4/conf/extra/httpd-vhost.conf,将日志的格式从common修改为combined
然后重新加载配置文件 /usr/local/apache2.4/bin/apachectl graceful
此时访问网站,然后查看日志记录,新生成的访问日志相对于之前,多出很多记录内容,比如可以看到通过curl访问时,记录的访问方式为curl