11.18 apache用户认证
Httpd的用户认证
·Vim /usr/local/apache2.4/conf/extra/http-vhosts.conf 把123.com那个虚拟主机编辑成如下内容
DocumentRoot “/data/wwwroot/www.123.com
ServerName www.123.com
AllowOverride AuthConfig 这个相当于打开认证的开关
AutbName “123.com user auth” 自定义认证的名字,作用不大
AuthType Basic 认证的类型,一般为basic,
AuthUserFile /data/.htpasswd 指定密码文件所在位置
require valia-user 指定需要认证的用户为全部可用用户
·/usr/local/apache2.4/bin/htpasswd -cm /data/.htpasswd maing apache自带的创建密码 -c创建 -m MD5密码加密 指定密码文件 加用户名
· 重新加载配置-t graceful
· 绑定hosts,浏览器测试
· curl -x127.0.0.1:80 www.123.com 状态码为401
· curl -x127.0.0.1:80 -uaming:passwd www.123.com 状态码为200 -uaming: passwd表示用户名和密码
Httpd的用户认证
还可以针对单个文件进行认证
DocumentRoot “/data/wwwroot/www.123.com”
ServerName www.123.com
AllowOverride AuthConfig
AuthName “123.com user auth”
AuthType Basic
AuthUserFile /data/.htpasswd
require valid-user
11.19/11.20 域名跳转(上下)
域名跳转
需求,把123.com域名跳转到www.123.com,配置如下
Vim /usr/local/apache2.4/conf/extra/http-vhosts.conf
DocumentRoot “/data/wwwroot/www.123.com”
ServerName www.123.com
ServerAlias 123.com
RewriteEngine on 打开rewrite功能
RewriteCond %{HTTP_HOST} !^www.123.com$ 定义rewrite的条件 主机名(域名)不是www.123.com满足条件
Rewriterule ^/(.*)$ http://www.123.co/$1 [R=301,L] 定义rewrite规则,当满足上面的条件时,这条规则才会执行,301永久生效l表示跳一次结束。
· /usr/local/apache2/bin/apachectl -M|grep -i rewrite 若无该模块,需要编辑配置文件httpd.conf,删除rewrite_module(shared)前面的#
· curl -x127.0.0.1:80 -l 123.com 状态码为301 -I只看状态码
11.21 apache访问日志
· 访问日志记录用户的每一个请求
· vim /usr/local/apache2.4/conf/httpd.conf
LogFormat “%h %l %u %t \ “%r\” %>s %b \ “%{Referer}i\” \ “%{User-Agent}i\”” combined {User-agent}用户代理 {Referer}记录的referer是前一个网址
LogFormat “%h %l %u %t \ “%r\” %>s %b” common
把虚拟主机配置文件改成如下:
DocumentRoot “/data/wwwroot/www.123.com”
ServerName www.123.com
ServerAlias 123.com
CustomLog “logs/123.com-access_log” combined
重新加载配置文件 -t, graceful
· curl -x127.0.0.1:80 -l 123.com
· tail /usr/local/apache2.4/logs/123.com-access_log