Apache用户认证;域名跳转;Apache访问日志

  1. 云栖社区>
  2. 博客>
  3. 正文

Apache用户认证;域名跳转;Apache访问日志

余二五 2017-11-22 14:58:00 浏览1067
展开阅读全文

扩展 :

apache虚拟主机开启php的短标签   http://www.aminglinux.com/bbs/thread-5370-1-1.html 

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>wKiom1l_QeWC6GPPAACOtlQl79I465.png


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 hao

3. 第二次再可访问用户名,自定义密码,不要再加-c选项,要不会覆盖掉密码文件:

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

4. 查看密码文件

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

wKiom1l_QgyBcGZ_AAAV3AJfHcs456.png

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

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

6. 启动apache2.4/httpd

[root@hao-01 apache2.4]# /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\etcwKioL1l_QiigJB1oAAAY7XXpDSs952.png添加上虚拟主机2的设定:111.com

wKioL1l_QkKDOe1DAAAMI--KJpg905.png

(记得保存hosts记事本)

10. 在windows上,检查Linux服务器ip的80端口是否打开:

C:\Users\主内安详>telnet 192.168.211.128 80wKiom1l_QlyzLGS9AAAcK3kyBlk708.png


11. Linux服务器上打开80端口:

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

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

12. 再次在windows上,检查Linux服务器ip的80端口是否打开:

C:\Users\主内安详>telnet 192.168.211.128 80

快捷键退出: Ctrl ]

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

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

wKioL1l_QnfCvJcuAABVe2ly9l0314.png


14. 用curl命令,来访问111.com,-u用来指定用户名密码,此时就是200 ok成功!

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


此方法用于:主网站的下级网站不想被其他人访问时候,

增加的用户认证!具体步骤如下:

15. 编辑虚拟主机配置文件中第二个虚拟主机,针对单个文件进行认证:

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

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

   <FilesMatch 123.php>

   </FilesMatch>

wKiom1l_QqnxAf6_AAB-kVvxORE784.png

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

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

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

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

18. 创建并编辑123.php在111.com目录下:

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

添加内容:

<?php

echo "123.php";

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

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


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

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

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

21. -u 选项跟用户名密码200 ok则成功访问!

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

11.19 域名跳转(上)11.20 域名跳转(下)

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

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

插入内容(插入位置如下图):

   <IfModule mod_rewrite.c>

       RewriteEngine on          RewriteCond %{HTTP_HOST} !^111.com$        RewriteRule ^/(.*)$ http://www.111.com/$1 [R=301,L]

   </IfModule>wKioL1l_Qumhg2BeAACQrC_Gn0U415.png


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

5. 编辑httpd.conf文件:

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

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

wKiom1l_QwGh3R0kAAAfzXWlaUc422.png

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

wKioL1l_QyDgbDeBAAAFT7r3Ta0819.png

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

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

wKiom1l_QzmS3_OEAABDW3B7aeY388.png


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


11.21 Apache访问日志

1. 两种日志格式:combined 、 commo

wKioL1l_Q2jSJhS5AAASbDvFvt4522.png

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

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

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

commo改为:combined

wKioL1l_Q4GT6-OTAAATui5KQhQ268.png


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网站,先把这个网站地址,发在其他博客或帖子中,再点击这个超链接,即可在服务器上记录上访问日志!

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

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

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

wKioL1l_Q5eQR-JlAADGcJI4uIg437.png










本文转自 主内安详 51CTO博客,原文链接:http://blog.51cto.com/zhuneianxiang/1952422,如需转载请自行联系原作者

网友评论

登录后评论
0/500
评论
余二五
+ 关注