码迷,mamicode.com
首页 > Web开发 > 详细

11.18 Apache用户认证;11.19-11.20 域名跳转(上下);11.21 Apache

时间:2018-03-05 17:04:53      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:Apache用户认证   域名跳转   Apache访问日志   

扩展 :

apache虚拟主机开启php的短标签 :

http://ask.apelearn.com/question/5370

1. 编辑第二个虚拟主机,设定Apache用户认证(访问网站需要用户密码认证)

[root@hao-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

插入内容如下(设定指定网站访问认证参数如下,位置在虚拟主机下面添加)

   <Directory /data/wwwroot/111.com>

      AllowOverride AuthConfig

      AuthName "111.com user auth"

      AuthType Basic

       AuthUserFile /data/.htpasswd

       require valid-user

   </Directory>

技术分享图片

2. 第一次创建可访问用户名,自定义密码 (-c 参数 自动创建生成密码文件)

[root@hao-01 ~]# /usr/local/apache2.4/bin/htpasswd -c -m 密码文件 自定义用

[root@hao-01 ~]# /usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd hao1技术分享图片

3. 第二次后创建可访问用户名,自定义密码(不要加-c 参数 会覆盖掉密码文件的)

[root@hao-01 ~]# /usr/local/apache2.4/bin/htpasswd  -m /data/.htpasswd hao2

技术分享图片技术分享图片

4. 查看密码文件内容

[root@hao-01 ~]# cat /data/.htpasswd

技术分享图片技术分享图片

5. 检测虚拟主机配置文件是否有错误 ?

[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl -t

技术分享图片

6. 启动apache2.4/httpd

[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl start

技术分享图片

7. 重新加载配置文件(不会重启服务)

[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl graceful

8. curl 访问这个虚拟主机的主域名111.com,是否访问成功 ? 报错如下 :

[root@hao-01 ~]# curl  -x127.0.0.1:80  111.com  -I

报错 :401(用户认证加密访问受限了)

技术分享图片技术分享图片

9. 用记事本打开Windows系统中hosts文件

路径:C:\Windows\System32\drivers\etc

技术分享图片

添加上虚拟主机2的设定的主域名111.com

技术分享图片技术分享图片

(记得保存hosts记事本)

10. Windows上,检查Linux服务器ip80端口是否打开 ?

C:\Users\VULCAN>telnet 192.168.223.128 80

技术分享图片技术分享图片

11. Linux服务器上打开80端口(必须是httpd已启动) :

[root@hao-001 ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT

(关闭80端口:iptables -D INPUT -p tcp --dport 80 -j ACCEPT )

12. 再次在Windows上,检查Linux服务器ip80端口是否打开 ?

C:\Users\VULCAN>telnet 192.168.223.128 80

快捷键组合退出 Ctrl ]

技术分享图片技术分享图片

13. Window游览器上,访问虚拟主机2加密认证的主域名111.com地址 :

此时,有些游览器会报401,并让其登陆加密访问的用户密码,就是刚刚设定的!

技术分享图片技术分享图片

14. curl命令,来访问虚拟主机2加密认证的主域名111.com

-u用来指定用户名密码,此时就是200 ok成功!

[root@hao-01 ~]# curl -x127.0.0.1:80  -uhao:admin 111.com -i

技术分享图片技术分享图片


下面的方法用于 :

主网站的下级网站,不想被其他人访问时候,增加的用户认证!

1. 编辑虚拟主机配置文件中,第二个虚拟主机参数 :

针对单个文件进行认证:

[root@hao-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

增加内容(注意增加位置,,如图)

   <FilesMatch 123.php>

   </FilesMatch>

技术分享图片技术分享图片

2. 检测虚拟主机配置文件是否有错误 ?

[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl -t

3. 重新加载配置文件(不会重启服务) :

[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl  graceful

4. 创建编辑123.php文件到111.com目录下 :

[root@hao-01 ~]# vim /data/wwwroot/111.com/123.php

添加内容:

<?php

echo "123.php";

5. 访问111.com不会受限 :

(设定了:访问111.com下123.php才会需要认证)!

[root@hao-01 ~]# curl -x127.0.0.1:80 111.com -i

技术分享图片技术分享图片

6. 用curl命令,访问111.com/123.php,访问是受限的

(针对这个123.php文件做了认证,需要-u跟用户名密码才可访问)

[root@hao-01 ~]# curl -x127.0.0.1:80 111.com/123.php -i

技术分享图片技术分享图片

7. 用curl命令,访问111.com/123.php (-u 参数跟用户名 密码) :

[root@hao-01 ~]# curl -x127.0.0.1:80 -uhao1:admin 111.com/123.php -i

技术分享图片

11.19-11.20 域名跳转(上下)

1. 编辑虚拟主机配置文件,更改第二个虚拟主机做实验 :

[root@hao-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

添加内容(这里定义的www.111.com别名域名跳转到的 网站域名)

   <IfModule mod_rewrite.c>

       RewriteEngine on

       RewriteCond %{HTTP_HOST} !^111.com$

       RewriteRule ^/(.*)$ http://www.111.com/$1 [R=301,L]

   </IfModule>

技术分享图片

2. 检测虚拟机配置文件是否有错误 :

[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl -t

3. 重新加载配置文件(不会重启服务) :

[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl graceful

4. 查找apache是否加载了rewrite模块 ?

[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl -M |grep rewrite

没查到rewrite模块,看下吗步骤打开!

5. 编辑httpd.conf文件 :

[root@hao-01 ~]# vim /usr/local/apache2.4/conf/httpd.conf

查找rewrite,找到含有rewrite行,把这行前#号删掉!

技术分享图片技术分享图片

6. 检测虚拟机配置文件是否有错误 :

[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl -t

7. 重新加载配置文件(不会重启服务) :

[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl  graceful

8. 再次查找apache是否加载了rewrite模块?

[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl -M |grep rewrite

技术分享图片技术分享图片

9. curl 命令访问别名域名,跳转到了设定跳转的域名下!

[root@hao-01 ~]# curl -x127.0.0.1:80 www.example.com

技术分享图片

在虚拟机配置文件中,下图位置,设定跳转到指定的网站域名!!!

技术分享图片技术分享图片

11.21 Apache访问日志

1. 两种日志格式:combined commo

技术分享图片技术分享图片

2. 更改虚拟主机配置文件,把日志格式改为combined

[root@hao-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

更改内容(更改访问日志格式):

commo改为:combined

技术分享图片

3. 检测虚拟机配置文件是否有错误 :

[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl -t

4. 重新加载配置文件(不会重启服务) :

[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl graceful

5. Windows上,访问到111.com/123.php网站(需要先把这个网站地址,发在其他博客或帖子中,再点击这个超链接111.com/123.php,即可在服务器上记录上访问日志!

6. 查看Apachecombined格式访问日志 :

[root@hao-01 ~]# tail /usr/local/apache2.4/logs/111.com-access_log

技术分享图片

由上图看出,从51cto博客里页面,跳转到了这个111.com下的123.php

11.18 Apache用户认证;11.19-11.20 域名跳转(上下);11.21 Apache

标签:Apache用户认证   域名跳转   Apache访问日志   

原文地址:http://blog.51cto.com/zhuneianxiang/2083082

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!