2018-5-29

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-5-29相关的知识,希望对你有一定的参考价值。

11.18 Apache用户认证

11.19/11.20 域名跳转

11.21 Apache访问日志



11.18 Apache用户认证

 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把第二个虚拟主机编辑成如下内容


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

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

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

        AuthType Basic //认证的类型,一般为Basic

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

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

技术分享图片


/usr/local/apache2.4/bin/htpasswd -cm /data/.htpasswd wttt //用apache自带的命令生成密码文件

技术分享图片


这时候可以cat看到 左边用户名,右边密码,-m指定了加密类型,c是创建

技术分享图片


再添加一个 这时候不需要加-c 因为已经创建了

技术分享图片


重新再加配置 然后做一个测试

curl -x127.0.0.1:80 www.123.com //状态码为401,说明需要输入密码

技术分享图片

 curl -x127.0.0.1:80 -uwttt:passwd www.123.com //状态码为200,输错还是401

技术分享图片


还可以针对单个文件进行认证(匹配文件),对一个单独的文件进行访问限制

<VirtualHost *:80>

    DocumentRoot "/data/wwwroot/111.com"

    ServerName www.123.com

    <FilesMatch admin.php>

        AllowOverride AuthConfig

        AuthName "111.com user auth"

        AuthType Basic

        AuthUserFile /data/.htpasswd

        require valid-user

    </FilesMatch>

</VirtualHost>






11.19/11.20 域名跳转


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

<VirtualHost *:80>

    .....

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

        RewriteEngine on  //打开rewrite功能

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

        RewriteRule ^/(.*)$ http://111.com/$1 [R=301,L] //定义rewrite规则,当满足上面的条件时,这条规则才会执行,301状态码永久重定向(还有个302临时重定向)

</IfModule>

</VirtualHost> 

技术分享图片

重新加载




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

技术分享图片

技术分享图片

这个时候模块加载出来了



 curl -x127.0.0.1:80 -I www.exmple.com //状态码为301,会指向111.com






11.21 Apache访问日志

 

操作步骤与上面大致相同

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

 vim /usr/local/apache2.4/conf/httpd.conf //搜索LogFormat ,默认是使用common的,通过配置文件使用conmbined

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  








以上是关于2018-5-29的主要内容,如果未能解决你的问题,请参考以下文章

2018.5.29 Oracle连接到空闲例程

Linux_pycharm_install

全球市场或再次迎流动性压力测试!

php 公历农历互相转换

python使用asyncore实现socket server client

python基础之判断用户登录