11.18-11.21 Apache的用户认证,域名跳转,Apache访问日志

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了11.18-11.21 Apache的用户认证,域名跳转,Apache访问日志相关的知识,希望对你有一定的参考价值。

 11.18Apache的用户认证

技术分享图片

把相应参数copy进去第二个虚拟主机(为了不影响默认主机使用,所以选择了第二个虚拟主机)

<Directory /data/wwwroot/www.123.com> //指定认证的目录

        AllowOverride AuthConfig //这个相当于打开认证的开关

        AuthName "123.com user auth" //自定义认证的名字,作用不大

        AuthType Basic //认证的类型,一般为Basic,其他类型阿铭没用过

        AuthUserFile /data/.htpasswd  //指定密码文件所在位置

        require valid-user //指定需要认证的用户为全部可用用户

    </Directory>

[[email protected] wwwroot]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 

技术分享图片

修改后

技术分享图片

配置完成后,需要创建密码文件,

# /usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd aming

上条命令的解释:

htpasswd工具,-c创建,-m MD5加密,后接密码文件./htpasswd 再接用户。

[[email protected] wwwroot]# ls /data/.htpasswd 

/data/.htpasswd

可以cat密码文件,是一串暗码,是因为被MD5加密过。

[[email protected] wwwroot]# cat /data/.htpasswd 

aming:$apr1$5mmrMCOX$E0QY/azyYojxZy0jTlsxt1

*注意:如果需要再次增加用户,取消-c 因为-c是创建和生成,如果使用了-c会被覆盖掉。

[[email protected] wwwroot]# /usr/local/apache2.4/bin/htpasswd -m /data/.htpasswd zhangsan

/usr/

设置完密码后,

重新加载配置-t , graceful

#curl检视信息,401表示此网页需要验证。

技术分享图片

配置完成后,需要到真实机windows修改hosts文件(C:\Windows\System32\drivers\etc),把网址添加进去

技术分享图片

技术分享图片

登录正确账号密码则可验证成功

截图

如果想单独一个文件进行认证,可以这样做。

技术分享图片

#vim /data/wwwroot/111.com/123.php

重新加载配置-t , graceful

完成后, 登录111.com/123.php 就需要认证,而111.com就不需要认证。


11.19 11.20 域名跳转

需求,把123.com域名跳转到www.123.com,配置如下:

<VirtualHost *:80>

    DocumentRoot "/data/wwwroot/www.123.com"

    ServerName www.123.com

    ServerAlias 123.com

    <IfModule mod_rewrite.c> //需要mod_rewrite模块支持

        RewriteEngine on  //打开rewrite功能

        RewriteCond %{HTTP_HOST} !^www.123.com$  //定义rewrite的条件,主机名(域名)不是www.123.com满足条件

        RewriteRule ^/(.*)$ http://www.123.com/$1 [R=301,L] //定义rewrite规则,当满足上面的条件时,这条规则才会执行

</IfModule>

</VirtualHost> 

 /usr/local/apache2/bin/apachectl -M|grep -i rewrite //若无该模块,需要编辑配置文件httpd.conf,删除rewrite_module (shared) 前面的#

 curl -x127.0.0.1:80 -I 123.com //状态码为301


11.21 配置访问日志

访问日志记录用户的每一个请求

 vim /usr/local/apache2.4/conf/httpd.conf //搜索LogFormat 

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

LogFormat "%h %l %u %t \"%r\" %>s %b" common 

 把虚拟主机配置文件改成如下: 

 <VirtualHost *:80>

    DocumentRoot "/data/wwwroot/www.123.com"

    ServerName www.123.com

    ServerAlias 123.com

    CustomLog "logs/123.com-access_log" combined

</VirtualHost>

 重新加载配置文件 -t,graceful

 curl -x127.0.0.1:80 -I 123.com 

 tail /usr/local/apache2.4/logs/123.com-access_log 


以上是关于11.18-11.21 Apache的用户认证,域名跳转,Apache访问日志的主要内容,如果未能解决你的问题,请参考以下文章

Nextcloud云盘搭建——搭建&集成域认证

Nextcloud云盘搭建——搭建&集成域认证

windows的域使用openldap作为用户权限认证

关闭 apache 的用户认证

配置squid集成域身份认证

OpenStack 的部署——Keystone组件